================== WARNING: ThreadSanitizer: data race (pid=17544) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17556, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17544) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17556, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17544) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=17553, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17544) Write of size 8 at 0x7d140000e948 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e948 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e920 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=17553, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=17551, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17544) Write of size 8 at 0x7d1400009d58 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400009d58 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400009d30 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=17552, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=17551, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=17562) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17574, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17562) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=17572, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings Memory tracker not enabled ================== WARNING: ThreadSanitizer: data race (pid=17580) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17592, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17580) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17592, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17580) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=17588, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=17598) Read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:156 (ep.so+0x00000026bef2) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d140000e9e8 by thread T8: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:182 (ep.so+0x000000275933) #2 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=17605, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=17608, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/executorthread.cc:156 ExecutorThread::run() ================== ================== WARNING: ThreadSanitizer: data race (pid=17598) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17610, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17598) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17610, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17598) Write of size 8 at 0x7d140001b7d8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001b7d8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140001b7b0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=17607, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=17616) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_max_size_and_water_marks_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9703 (ep_testsuite.so+0x000000028107) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=17626, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17616) Write of size 8 at 0x7d140000e1c8 by main thread (mutexes: write M28780, write M28796): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e1c8 by thread T20: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e1a0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_max_size_and_water_marks_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9703 (ep_testsuite.so+0x000000028107) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28780 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_max_size_and_water_marks_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9703 (ep_testsuite.so+0x000000028107) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28796 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_max_size_and_water_marks_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9703 (ep_testsuite.so+0x000000028107) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=17644, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_max_size_and_water_marks_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9703 (ep_testsuite.so+0x000000028107) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17616) Write of size 8 at 0x7d140000e128 by main thread (mutexes: write M28780, write M28796): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e128 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e100 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_max_size_and_water_marks_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9703 (ep_testsuite.so+0x000000028107) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28780 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_max_size_and_water_marks_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9703 (ep_testsuite.so+0x000000028107) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28796 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_max_size_and_water_marks_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9703 (ep_testsuite.so+0x000000028107) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=17644, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_max_size_and_water_marks_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9703 (ep_testsuite.so+0x000000028107) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17616) Write of size 8 at 0x7d14000026e8 by main thread (mutexes: write M28780, write M28793): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000026e8 by thread T18: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d14000026c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_max_size_and_water_marks_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9703 (ep_testsuite.so+0x000000028107) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28780 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_max_size_and_water_marks_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9703 (ep_testsuite.so+0x000000028107) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28793 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_max_size_and_water_marks_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9703 (ep_testsuite.so+0x000000028107) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=17642, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_max_size_and_water_marks_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9703 (ep_testsuite.so+0x000000028107) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17616) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M28780, write M28793): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T15: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e560 allocated by thread T18: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M28780 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_max_size_and_water_marks_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9703 (ep_testsuite.so+0x000000028107) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28793 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_max_size_and_water_marks_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9703 (ep_testsuite.so+0x000000028107) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T15 'mc:writer_4' (tid=17639, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_max_size_and_water_marks_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9703 (ep_testsuite.so+0x000000028107) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=17642, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_max_size_and_water_marks_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9703 (ep_testsuite.so+0x000000028107) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=17645) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17657, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17645) Write of size 8 at 0x7d140000e948 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e948 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e920 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=17652, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17645) Write of size 8 at 0x7d14000075f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000075f8 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d14000075d0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=17652, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=17654, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=17663) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17675, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17663) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17675, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17663) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=17671, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=17681) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17693, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17681) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17693, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17681) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=17690, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17681) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=17690, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=17691, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17681) Write of size 8 at 0x7d1400007788 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400007788 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400007760 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=17688, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=17691, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=17699) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_conc_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:522 (ep_testsuite.so+0x000000029acd) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17711, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17699) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_conc_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:522 (ep_testsuite.so+0x000000029acd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=17709, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17699) Write of size 8 at 0x7d140000e538 by main thread (mutexes: write M391398, write M391414): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e538 by thread T26: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e510 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_conc_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:522 (ep_testsuite.so+0x000000029acd) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M391398 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_conc_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:522 (ep_testsuite.so+0x000000029acd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M391414 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_conc_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:522 (ep_testsuite.so+0x000000029acd) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T26 'mc:nonio_9' (tid=17783, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_conc_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:522 (ep_testsuite.so+0x000000029acd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17699) Write of size 8 at 0x7d14000026e8 by main thread (mutexes: write M391398, write M391411): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000026e8 by thread T22: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d14000026c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_conc_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:522 (ep_testsuite.so+0x000000029acd) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M391398 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_conc_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:522 (ep_testsuite.so+0x000000029acd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M391411 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_conc_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:522 (ep_testsuite.so+0x000000029acd) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T22 'mc:writer_5' (tid=17779, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_conc_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:522 (ep_testsuite.so+0x000000029acd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17699) Write of size 8 at 0x7d1400009bc8 by main thread (mutexes: write M391398, write M391411): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400009bc8 by thread T21: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400009ba0 allocated by thread T22: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M391398 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_conc_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:522 (ep_testsuite.so+0x000000029acd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M391411 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_conc_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:522 (ep_testsuite.so+0x000000029acd) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T21 'mc:writer_4' (tid=17778, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_conc_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:522 (ep_testsuite.so+0x000000029acd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T22 'mc:writer_5' (tid=17779, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_conc_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:522 (ep_testsuite.so+0x000000029acd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=17784) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17796, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17784) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=17793, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17784) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=17793, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=17794, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17784) Write of size 8 at 0x7d1400016738 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400016738 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400016710 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=17791, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=17794, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=17812) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17824, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17812) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=17819, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17812) Write of size 8 at 0x7d140000c5f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000c5f8 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000c5d0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=17820, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=17819, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=17840) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17852, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17840) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=17848, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17840) Write of size 8 at 0x7d1400503bd8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400503bd8 by thread T7: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400503bb0 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=17849, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=17848, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=17862) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17874, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17862) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=17869, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17862) Write of size 8 at 0x7d14000074b8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000074b8 by thread T7: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400007490 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=17871, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=17872, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=17880) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17892, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17880) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=17889, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=17898) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17910, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17898) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=17907, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=17916) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17928, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17916) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17928, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17916) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=17925, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=17934) Write of size 8 at 0x7d180000c448 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d180000c448 by thread T10: [failed to restore the stack] Location is heap block of size 96 at 0x7d180000c420 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:446 (ep.so+0x00000017eb2b) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17946, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17934) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17946, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17934) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17946, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17934) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=17944, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=17952) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17964, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17952) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17964, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17952) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=17962, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=17970) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17982, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17970) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=17982, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17970) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=17980, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=17988) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18000, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17988) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18000, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17988) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=17998, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17988) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=17997, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=17995, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=17988) Write of size 8 at 0x7d140001df88 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001df88 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001df60 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=17996, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=17995, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=18006) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18053, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18006) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18053, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18006) Write of size 8 at 0x7d140000e948 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e948 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e920 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=18051, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=18059) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18071, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18059) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:53 (ep.so+0x0000002e8f7a) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18071, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18059) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=18067, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=18077) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18089, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18077) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18089, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18077) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18084, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=18095) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18107, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18095) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18107, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18095) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=18105, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18095) Write of size 8 at 0x7d14000076e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000076e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d14000076c0 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18102, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=18103, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18095) Write of size 8 at 0x7d140001dfd8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001dfd8 by thread T8: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001dfb0 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=18105, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=18103, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=18113) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18125, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18113) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18125, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18113) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18120, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=18122, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18113) Write of size 8 at 0x7d1400004df8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400004df8 by thread T8: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400004dd0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=18123, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=18122, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=18131) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18143, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18131) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=18139, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=18149) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18161, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18149) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18161, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18149) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=18158, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=18167) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18179, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18167) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18179, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18167) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=18176, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=18185) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18197, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18185) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18192, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=18203) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18215, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18203) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=18212, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=18221) Read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:156 (ep.so+0x00000026bef2) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d140000e9e8 by thread T8: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:182 (ep.so+0x000000275933) #2 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18228, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=18231, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/executorthread.cc:156 ExecutorThread::run() ================== ================== WARNING: ThreadSanitizer: data race (pid=18221) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18233, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18221) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18233, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18221) Write of size 8 at 0x7d14000027d8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000027d8 by thread T8: [failed to restore the stack] Location is heap block of size 80 at 0x7d14000027b0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=18231, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=18230, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=18239) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18251, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18239) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18246, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=18257) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18269, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18257) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=18265, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=18275) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18287, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18275) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=18284, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18275) Write of size 8 at 0x7d140001dee8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001dee8 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001dec0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18282, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=18293) Read of size 8 at 0x7d140000e8f8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:156 (ep.so+0x00000026bef2) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d140000e8f8 by thread T8: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:182 (ep.so+0x000000275933) #2 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18300, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=18303, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/executorthread.cc:156 ExecutorThread::run() ================== ================== WARNING: ThreadSanitizer: data race (pid=18293) Write of size 8 at 0x7d180000c448 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d180000c448 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ClosedUnrefCheckpointRemoverTask::run() /root/manu/ep-engine/src/checkpoint_remover.cc:148 (ep.so+0x0000000e69fe) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 96 at 0x7d180000c420 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:446 (ep.so+0x00000017eb2b) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18305, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18293) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18305, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18293) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18305, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18293) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=18302, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=18311) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18323, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18311) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=18320, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18311) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=18320, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=18321, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18311) Write of size 8 at 0x7d1400007698 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400007698 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400007670 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18318, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=18321, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=18329) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18341, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18329) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18341, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18329) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=18337, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=18347) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18359, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18347) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18354, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18347) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18354, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=18356, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18347) Write of size 8 at 0x7d140000e768 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e768 by thread T8: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e740 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=18357, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=18356, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=18365) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18377, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18365) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18377, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18365) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=18375, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=18383) Write of size 8 at 0x7d1400002788 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400002788 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400002760 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=18391, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18390, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 1 warnings ================== WARNING: ThreadSanitizer: data race (pid=18401) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18413, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18401) Write of size 8 at 0x7d140000e948 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e948 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e920 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=18410, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18401) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=18409, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18408, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18401) Write of size 8 at 0x7d140000e3f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e3f8 by thread T7: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e3d0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=18410, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18408, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=18419) Write of size 8 at 0x7d180000c448 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d180000c448 by thread T10: [failed to restore the stack] Location is heap block of size 96 at 0x7d180000c420 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:446 (ep.so+0x00000017eb2b) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18431, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18419) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18431, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18419) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18431, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18419) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=18428, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=18437) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_mb5215(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2852 (ep_testsuite.so+0x00000003aa4a) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18449, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18437) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_mb5215(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2852 (ep_testsuite.so+0x00000003aa4a) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18449, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18437) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_mb5215(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2852 (ep_testsuite.so+0x00000003aa4a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=18447, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18437) Write of size 8 at 0x7d140001dee8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_mb5215(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2852 (ep_testsuite.so+0x00000003aa4a) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001dee8 by thread T8: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001dec0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=18447, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18437) Write of size 8 at 0x7d140000e6c8 by main thread (mutexes: write M28840, write M28856): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_mb5215(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2875 (ep_testsuite.so+0x00000003ae6a) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e6c8 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e6a0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_mb5215(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2852 (ep_testsuite.so+0x00000003aa4a) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28840 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_mb5215(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2852 (ep_testsuite.so+0x00000003aa4a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28856 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_mb5215(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2852 (ep_testsuite.so+0x00000003aa4a) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=18465, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_mb5215(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2852 (ep_testsuite.so+0x00000003aa4a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18437) Write of size 8 at 0x7d14000026e8 by main thread (mutexes: write M28840, write M28853): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_mb5215(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2875 (ep_testsuite.so+0x00000003ae6a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000026e8 by thread T15: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d14000026c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_mb5215(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2852 (ep_testsuite.so+0x00000003aa4a) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28840 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_mb5215(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2852 (ep_testsuite.so+0x00000003aa4a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28853 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_mb5215(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2852 (ep_testsuite.so+0x00000003aa4a) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T15 'mc:writer_4' (tid=18460, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_mb5215(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2852 (ep_testsuite.so+0x00000003aa4a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18437) Write of size 8 at 0x7d14000076e8 by main thread (mutexes: write M28840, write M28853): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_mb5215(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2875 (ep_testsuite.so+0x00000003ae6a) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000076e8 by thread T15: [failed to restore the stack] Location is heap block of size 80 at 0x7d14000076c0 allocated by thread T17: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M28840 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_mb5215(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2852 (ep_testsuite.so+0x00000003aa4a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28853 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_mb5215(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2852 (ep_testsuite.so+0x00000003aa4a) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T15 'mc:writer_4' (tid=18460, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_mb5215(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2852 (ep_testsuite.so+0x00000003aa4a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T17 'mc:writer_6' (tid=18462, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_mb5215(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2852 (ep_testsuite.so+0x00000003aa4a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18437) Write of size 8 at 0x7d140000e808 by main thread (mutexes: write M46623, write M46639): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e808 by thread T26: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e7e0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_mb5215(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2875 (ep_testsuite.so+0x00000003ae6a) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46623 (0x7d5000019520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_mb5215(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2875 (ep_testsuite.so+0x00000003ae6a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46639 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_mb5215(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2875 (ep_testsuite.so+0x00000003ae6a) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T26 'mc:nonio_9' (tid=18475, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_mb5215(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2875 (ep_testsuite.so+0x00000003ae6a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18437) Write of size 8 at 0x7d140000e218 by main thread (mutexes: write M46623, write M46636): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e218 by thread T21: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e1f0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_mb5215(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2875 (ep_testsuite.so+0x00000003ae6a) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46623 (0x7d5000019520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_mb5215(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2875 (ep_testsuite.so+0x00000003ae6a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46636 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_mb5215(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2875 (ep_testsuite.so+0x00000003ae6a) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T21 'mc:writer_4' (tid=18470, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_mb5215(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2875 (ep_testsuite.so+0x00000003ae6a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 9 warnings ================== WARNING: ThreadSanitizer: data race (pid=18476) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18488, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18476) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18488, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18476) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=18484, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18476) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=18484, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18483, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=18494) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18506, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18494) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18501, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=18512) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18524, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18512) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18524, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18512) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=18520, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=18530) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_delete_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1846 (ep_testsuite.so+0x00000003c20f) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18542, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18530) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_delete_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1846 (ep_testsuite.so+0x00000003c20f) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18542, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18530) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_delete_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1846 (ep_testsuite.so+0x00000003c20f) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=18540, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18530) Write of size 8 at 0x7d14000026e8 by main thread (mutexes: write M28885, write M28898): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_delete_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1856 (ep_testsuite.so+0x00000003c3eb) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000026e8 by thread T17: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d14000026c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_delete_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1846 (ep_testsuite.so+0x00000003c20f) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28885 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_delete_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1846 (ep_testsuite.so+0x00000003c20f) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28898 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_delete_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1846 (ep_testsuite.so+0x00000003c20f) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T17 'mc:writer_6' (tid=18556, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_delete_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1846 (ep_testsuite.so+0x00000003c20f) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18530) Write of size 8 at 0x7d1400004ad8 by main thread (mutexes: write M28885, write M28898): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_delete_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1856 (ep_testsuite.so+0x00000003c3eb) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400004ad8 by thread T18: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400004ab0 allocated by thread T15: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M28885 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_delete_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1846 (ep_testsuite.so+0x00000003c20f) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28898 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_delete_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1846 (ep_testsuite.so+0x00000003c20f) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=18557, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_delete_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1846 (ep_testsuite.so+0x00000003c20f) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T15 'mc:writer_4' (tid=18554, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_delete_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1846 (ep_testsuite.so+0x00000003c20f) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18530) Write of size 8 at 0x7d1400004b28 by main thread (mutexes: write M28885, write M28898): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_delete_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1856 (ep_testsuite.so+0x00000003c3eb) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400004b28 by thread T16: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400004b00 allocated by thread T15: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M28885 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_delete_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1846 (ep_testsuite.so+0x00000003c20f) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28898 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_delete_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1846 (ep_testsuite.so+0x00000003c20f) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T16 'mc:writer_5' (tid=18555, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_delete_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1846 (ep_testsuite.so+0x00000003c20f) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T15 'mc:writer_4' (tid=18554, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_delete_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1846 (ep_testsuite.so+0x00000003c20f) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18530) Write of size 8 at 0x7d140000e718 by main thread (mutexes: write M46630, write M46646): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e718 by thread T26: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e6f0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_delete_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1856 (ep_testsuite.so+0x00000003c3eb) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46630 (0x7d5000019520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_delete_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1856 (ep_testsuite.so+0x00000003c3eb) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46646 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_delete_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1856 (ep_testsuite.so+0x00000003c3eb) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T26 'mc:nonio_9' (tid=18569, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_delete_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1856 (ep_testsuite.so+0x00000003c3eb) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18530) Write of size 8 at 0x7d140000e218 by main thread (mutexes: write M46630, write M46643): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e218 by thread T21: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e1f0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_delete_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1856 (ep_testsuite.so+0x00000003c3eb) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46630 (0x7d5000019520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_delete_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1856 (ep_testsuite.so+0x00000003c3eb) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46643 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_delete_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1856 (ep_testsuite.so+0x00000003c3eb) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T21 'mc:writer_4' (tid=18564, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_delete_set(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1856 (ep_testsuite.so+0x00000003c3eb) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 8 warnings ================== WARNING: ThreadSanitizer: data race (pid=18570) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18582, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18570) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18582, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18570) Write of size 8 at 0x7d140000e948 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e948 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e920 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=18579, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18570) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=18580, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18577, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18570) Write of size 8 at 0x7d1400009d58 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400009d58 by thread T7: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400009d30 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=18579, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18577, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=18588) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_bug2509(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1794 (ep_testsuite.so+0x00000003cc88) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18600, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18588) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_bug2509(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1794 (ep_testsuite.so+0x00000003cc88) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18595, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18588) Read of size 8 at 0x7d1400004e48 by thread T17: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:156 (ep.so+0x00000026bef2) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d1400004e48 by thread T16: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:182 (ep.so+0x000000275933) #2 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400004e20 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_bug2509(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1794 (ep_testsuite.so+0x00000003cc88) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T17 'mc:writer_6' (tid=18614, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_bug2509(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1794 (ep_testsuite.so+0x00000003cc88) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T16 'mc:writer_5' (tid=18613, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_bug2509(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1794 (ep_testsuite.so+0x00000003cc88) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/executorthread.cc:156 ExecutorThread::run() ================== ================== WARNING: ThreadSanitizer: data race (pid=18588) Write of size 8 at 0x7d140000e538 by main thread (mutexes: write M89791, write M89807): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e538 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e510 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_bug2509(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1794 (ep_testsuite.so+0x00000003cc88) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M89791 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_bug2509(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1794 (ep_testsuite.so+0x00000003cc88) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M89807 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_bug2509(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1794 (ep_testsuite.so+0x00000003cc88) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=18617, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_bug2509(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1794 (ep_testsuite.so+0x00000003cc88) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18588) Write of size 8 at 0x7d1400004ee8 by main thread (mutexes: write M89791, write M89804): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400004ee8 by thread T16: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400004ec0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_bug2509(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1794 (ep_testsuite.so+0x00000003cc88) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M89791 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_bug2509(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1794 (ep_testsuite.so+0x00000003cc88) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M89804 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_bug2509(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1794 (ep_testsuite.so+0x00000003cc88) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T16 'mc:writer_5' (tid=18613, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_bug2509(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1794 (ep_testsuite.so+0x00000003cc88) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18588) Write of size 8 at 0x7d1400017318 by main thread (mutexes: write M89791, write M89804): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400017318 by thread T15: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d14000172f0 allocated by thread T16: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M89791 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_bug2509(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1794 (ep_testsuite.so+0x00000003cc88) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M89804 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_bug2509(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1794 (ep_testsuite.so+0x00000003cc88) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T15 'mc:writer_4' (tid=18612, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_bug2509(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1794 (ep_testsuite.so+0x00000003cc88) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T16 'mc:writer_5' (tid=18613, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_bug2509(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1794 (ep_testsuite.so+0x00000003cc88) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18588) Write of size 8 at 0x7d1400017638 by main thread (mutexes: write M89791, write M89804): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400017638 by thread T16: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400017610 allocated by thread T16: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M89791 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_bug2509(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1794 (ep_testsuite.so+0x00000003cc88) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M89804 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_bug2509(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1794 (ep_testsuite.so+0x00000003cc88) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T16 'mc:writer_5' (tid=18613, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_bug2509(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1794 (ep_testsuite.so+0x00000003cc88) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 7 warnings FATAL: ThreadSanitizer CHECK failed: /build/buildd/llvm-toolchain-snapshot-3.5/projects/compiler-rt/lib/sanitizer_common/sanitizer_deadlock_detector.h:67 "((n_all_locks_)) < (((sizeof(all_locks_with_contexts_)/sizeof((all_locks_with_contexts_)[0]))))" (0x40, 0x40) #0 __tsan::PrintCurrentStackSlow() :0 (engine_testapp+0x0000000b395f) #1 __tsan::TsanCheckFailed(char const*, int, char const*, unsigned long long, unsigned long long) :0 (engine_testapp+0x0000000b3932) #2 __sanitizer::CheckFailed(char const*, int, char const*, unsigned long long, unsigned long long) :0 (engine_testapp+0x00000003f4d1) #3 __sanitizer::DeadlockDetectorTLS<__sanitizer::TwoLevelBitVector<1ul, __sanitizer::BasicBitVector > >::addLock(unsigned long, unsigned long, unsigned int) :0 (engine_testapp+0x000000042a68) #4 __sanitizer::DD::MutexAfterLock(__sanitizer::DDCallback*, __sanitizer::DDMutex*, bool, bool) :0 (engine_testapp+0x000000041c9a) #5 __tsan::MutexLock(__tsan::ThreadState*, unsigned long, unsigned long, int, bool) :0 (engine_testapp+0x0000000b2197) #6 pthread_mutex_lock :0 (engine_testapp+0x000000076cc3) #7 cb_mutex_enter /root/manu/platform/src/cb_pthreads.c:115 (libplatform.so.0.1.0+0x000000004980) #8 Mutex::acquire() /root/manu/ep-engine/src/mutex.cc:31 (ep.so+0x0000002af85e) #9 MultiLockHolder::lock() /root/manu/ep-engine/src/locks.h:136 (ep.so+0x0000002b9f1e) #10 MultiLockHolder /root/manu/ep-engine/src/locks.h:122 (ep.so+0x0000002b8b5f) #11 HashTable::clear(bool) /root/manu/ep-engine/src/stored-value.cc:301 (ep.so+0x0000002b3c40) #12 ~HashTable /root/manu/ep-engine/src/stored-value.h:832 (ep.so+0x0000001d4474) #13 ~VBucket /root/manu/ep-engine/src/vbucket.cc:150 (ep.so+0x0000002fbd66) #14 ~RCPtr /root/manu/ep-engine/src/atomic.h:189 (ep.so+0x000000084a02) #15 EventuallyPersistentStore::flushVBucket(unsigned short) /root/manu/ep-engine/src/ep.cc:3299 (ep.so+0x00000019d009) #16 Flusher::flushVB() /root/manu/ep-engine/src/flusher.cc:297 (ep.so+0x0000002768d9) #17 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:176 (ep.so+0x000000275810) #18 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #19 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #20 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #21 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) #22 __tsan_thread_start_func :0 (engine_testapp+0x000000055a9d) #23 start_thread /build/buildd/eglibc-2.19/nptl/pthread_create.c:312 (libpthread.so.0+0x000000008181) #24 clone /build/buildd/eglibc-2.19/misc/../sysdeps/unix/sysv/linux/x86_64/clone.S:111 (libc.so.6+0x0000000fa47c) #25 :0 (0x000000000000) ================== WARNING: ThreadSanitizer: data race (pid=18684) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18696, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18684) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18696, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18684) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=18693, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=18702) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_mb5172(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9251 (ep_testsuite.so+0x00000003e7bd) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18714, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18702) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_mb5172(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9251 (ep_testsuite.so+0x00000003e7bd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=18710, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18702) Write of size 8 at 0x7d140001df88 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_mb5172(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9251 (ep_testsuite.so+0x00000003e7bd) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001df88 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140001df60 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18709, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=18710, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18702) Write of size 8 at 0x7d1400007698 by main thread (mutexes: write M28864, write M28880): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d1400007698 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400007670 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_mb5172(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9251 (ep_testsuite.so+0x00000003e7bd) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28864 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_mb5172(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9251 (ep_testsuite.so+0x00000003e7bd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28880 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_mb5172(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9251 (ep_testsuite.so+0x00000003e7bd) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=18730, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_mb5172(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9251 (ep_testsuite.so+0x00000003e7bd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18702) Write of size 8 at 0x7d1400002788 by main thread (mutexes: write M28864, write M28877): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400002788 by thread T18: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400002760 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_mb5172(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9251 (ep_testsuite.so+0x00000003e7bd) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28864 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_mb5172(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9251 (ep_testsuite.so+0x00000003e7bd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28877 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_mb5172(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9251 (ep_testsuite.so+0x00000003e7bd) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=18728, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_mb5172(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9251 (ep_testsuite.so+0x00000003e7bd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18702) Write of size 8 at 0x7d1400007788 by main thread (mutexes: write M28864, write M28877): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400007788 by thread T15: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400007760 allocated by thread T18: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M28864 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_mb5172(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9251 (ep_testsuite.so+0x00000003e7bd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28877 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_mb5172(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9251 (ep_testsuite.so+0x00000003e7bd) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T15 'mc:writer_4' (tid=18725, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_mb5172(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9251 (ep_testsuite.so+0x00000003e7bd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=18728, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_mb5172(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9251 (ep_testsuite.so+0x00000003e7bd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 6 warnings ================== WARNING: ThreadSanitizer: data race (pid=18731) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:53 (ep.so+0x0000002e8f7a) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18743, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18731) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18738, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18731) Write of size 8 at 0x7d140000c378 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000c378 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000c350 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=18741, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=18740, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18731) Write of size 8 at 0x7d140000e3f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e3f8 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e3d0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=18739, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=18740, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=18749) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18761, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18749) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=18757, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=18767) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_multiple_flush(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1421 (ep_testsuite.so+0x00000003f79b) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18779, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18767) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_multiple_flush(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1421 (ep_testsuite.so+0x00000003f79b) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18779, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18767) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_multiple_flush(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1421 (ep_testsuite.so+0x00000003f79b) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=18777, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18767) Write of size 8 at 0x7d140001dfd8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_multiple_flush(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1421 (ep_testsuite.so+0x00000003f79b) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001dfd8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140001dfb0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=18776, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=18777, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18767) Write of size 8 at 0x7d1400007788 by main thread (mutexes: write M28920, write M28936): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d1400007788 by thread T22: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400007760 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_multiple_flush(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1421 (ep_testsuite.so+0x00000003f79b) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28920 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_multiple_flush(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1421 (ep_testsuite.so+0x00000003f79b) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28936 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_multiple_flush(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1421 (ep_testsuite.so+0x00000003f79b) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T22 'mc:nonio_9' (tid=18797, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_multiple_flush(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1421 (ep_testsuite.so+0x00000003f79b) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18767) Write of size 8 at 0x7d140000c5f8 by main thread (mutexes: write M28920, write M28936): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000c5f8 by thread T22: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000c5d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_multiple_flush(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1421 (ep_testsuite.so+0x00000003f79b) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28920 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_multiple_flush(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1421 (ep_testsuite.so+0x00000003f79b) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28936 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_multiple_flush(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1421 (ep_testsuite.so+0x00000003f79b) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T22 'mc:nonio_9' (tid=18797, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_multiple_flush(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1421 (ep_testsuite.so+0x00000003f79b) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18767) Write of size 8 at 0x7d1400002698 by main thread (mutexes: write M28920, write M28933): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400002698 by thread T20: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400002670 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_multiple_flush(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1421 (ep_testsuite.so+0x00000003f79b) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28920 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_multiple_flush(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1421 (ep_testsuite.so+0x00000003f79b) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28933 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_multiple_flush(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1421 (ep_testsuite.so+0x00000003f79b) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:writer_7' (tid=18795, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_multiple_flush(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1421 (ep_testsuite.so+0x00000003f79b) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18767) Write of size 8 at 0x7d140000e808 by main thread (mutexes: write M28920, write M28933): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e808 by thread T18: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e7e0 allocated by thread T20: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M28920 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_multiple_flush(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1421 (ep_testsuite.so+0x00000003f79b) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28933 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_multiple_flush(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1421 (ep_testsuite.so+0x00000003f79b) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_5' (tid=18793, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_multiple_flush(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1421 (ep_testsuite.so+0x00000003f79b) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:writer_7' (tid=18795, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_multiple_flush(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1421 (ep_testsuite.so+0x00000003f79b) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 8 warnings ================== WARNING: ThreadSanitizer: data race (pid=18798) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18810, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18798) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18810, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18798) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18805, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=18808, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18798) Write of size 8 at 0x7d1400004e48 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400004e48 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400004e20 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=18806, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=18808, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=18816) Write of size 8 at 0x7d540000fe88 by thread T5 (mutexes: write M3046): #0 EventuallyPersistentStore::flushVBucket(unsigned short) /root/manu/ep-engine/src/ep.cc:3261 (ep.so+0x00000019c870) #1 Flusher::flushVB() /root/manu/ep-engine/src/flusher.cc:297 (ep.so+0x0000002768d9) #2 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:176 (ep.so+0x000000275810) #3 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #4 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #5 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #6 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d540000fe88 by thread T8 (mutexes: write M3044): #0 EventuallyPersistentStore::flushVBucket(unsigned short) /root/manu/ep-engine/src/ep.cc:3261 (ep.so+0x00000019c870) #1 Flusher::flushVB() /root/manu/ep-engine/src/flusher.cc:297 (ep.so+0x0000002768d9) #2 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:176 (ep.so+0x000000275810) #3 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #4 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #5 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #6 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 616 at 0x7d540000fc80 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e884f) #2 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #3 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #4 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #5 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #6 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3046 (0x7d640004ba90) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:304 (ep.so+0x00000017b7a0) #4 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #5 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #6 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #7 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3044 (0x7d640004ba10) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:304 (ep.so+0x00000017b7a0) #4 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #5 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #6 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #7 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18823, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=18826, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/ep.cc:3261 EventuallyPersistentStore::flushVBucket(unsigned short) ================== ================== WARNING: ThreadSanitizer: data race (pid=18816) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M3007, write M3023): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3007 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3023 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18828, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18816) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M3007, write M3023): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3007 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3023 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18828, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18816) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M3007, write M3020): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3007 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3020 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=18825, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18816) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M3007, write M3020): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M3007 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3020 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=18824, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=18826, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=18834) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M3007, write M3023): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_flush_disabled(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1455 (ep_testsuite.so+0x0000000413ba) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3007 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3023 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18846, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18834) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M3007, write M3023): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_flush_disabled(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1455 (ep_testsuite.so+0x0000000413ba) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3007 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3023 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18846, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18834) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M3007, write M3020): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_flush_disabled(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1455 (ep_testsuite.so+0x0000000413ba) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3007 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3020 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=18843, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18834) Write of size 8 at 0x7d14000026e8 by main thread (mutexes: write M6624, write M6637): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000026e8 by thread T15: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d14000026c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_flush_disabled(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1455 (ep_testsuite.so+0x0000000413ba) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M6624 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_flush_disabled(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1455 (ep_testsuite.so+0x0000000413ba) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M6637 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_flush_disabled(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1455 (ep_testsuite.so+0x0000000413ba) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T15 'mc:writer_4' (tid=18857, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_flush_disabled(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1455 (ep_testsuite.so+0x0000000413ba) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18834) Write of size 8 at 0x7d1400007468 by main thread (mutexes: write M6624, write M6637): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400007468 by thread T18: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400007440 allocated by thread T15: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M6624 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_flush_disabled(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1455 (ep_testsuite.so+0x0000000413ba) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M6637 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_flush_disabled(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1455 (ep_testsuite.so+0x0000000413ba) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=18860, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_flush_disabled(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1455 (ep_testsuite.so+0x0000000413ba) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T15 'mc:writer_4' (tid=18857, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_flush_disabled(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1455 (ep_testsuite.so+0x0000000413ba) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=18863) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M3007, write M3023): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3007 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3023 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18875, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18863) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M3007, write M3023): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3007 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3023 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18875, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18863) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M3007, write M3020): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3007 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3020 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18870, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18863) Write of size 8 at 0x7d14000026e8 by main thread (mutexes: write M3007, write M3020): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000026e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d14000026c0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M3007 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3020 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=18871, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18870, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=18881) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_expiry_pager_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2196 (ep_testsuite.so+0x000000042058) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18893, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18881) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_expiry_pager_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2196 (ep_testsuite.so+0x000000042058) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=18889, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18881) Write of size 8 at 0x7d1400009f38 by main thread (mutexes: write M28867, write M28883): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400009f38 by thread T20: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400009f10 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_expiry_pager_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2196 (ep_testsuite.so+0x000000042058) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28867 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_expiry_pager_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2196 (ep_testsuite.so+0x000000042058) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28883 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_expiry_pager_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2196 (ep_testsuite.so+0x000000042058) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=18909, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_expiry_pager_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2196 (ep_testsuite.so+0x000000042058) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18881) Write of size 8 at 0x7d1400004ee8 by main thread (mutexes: write M28867, write M28883): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d1400004ee8 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400004ec0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_expiry_pager_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2196 (ep_testsuite.so+0x000000042058) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28867 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_expiry_pager_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2196 (ep_testsuite.so+0x000000042058) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28883 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_expiry_pager_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2196 (ep_testsuite.so+0x000000042058) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=18909, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_expiry_pager_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2196 (ep_testsuite.so+0x000000042058) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18881) Write of size 8 at 0x7d1400002698 by main thread (mutexes: write M28867, write M28880): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400002698 by thread T18: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400002670 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_expiry_pager_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2196 (ep_testsuite.so+0x000000042058) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28867 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_expiry_pager_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2196 (ep_testsuite.so+0x000000042058) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28880 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_expiry_pager_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2196 (ep_testsuite.so+0x000000042058) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=18907, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_expiry_pager_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2196 (ep_testsuite.so+0x000000042058) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18881) Write of size 8 at 0x7d140000c5f8 by main thread (mutexes: write M28867, write M28880): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000c5f8 by thread T17: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000c5d0 allocated by thread T17: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M28867 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_expiry_pager_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2196 (ep_testsuite.so+0x000000042058) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28880 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_expiry_pager_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2196 (ep_testsuite.so+0x000000042058) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T17 'mc:writer_6' (tid=18906, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_expiry_pager_settings(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2196 (ep_testsuite.so+0x000000042058) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 6 warnings ================== WARNING: ThreadSanitizer: data race (pid=18910) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18922, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18910) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:53 (ep.so+0x0000002e8f7a) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18922, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18910) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=18920, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=18928) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_expiry_loader(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2312 (ep_testsuite.so+0x000000043aa7) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18940, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18928) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_expiry_loader(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2312 (ep_testsuite.so+0x000000043aa7) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18940, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18928) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_expiry_loader(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2312 (ep_testsuite.so+0x000000043aa7) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=18937, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18928) Write of size 8 at 0x7d1400004fd8 by main thread (mutexes: write M28840, write M28853): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400004fd8 by thread T17: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400004fb0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_expiry_loader(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2312 (ep_testsuite.so+0x000000043aa7) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28840 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_expiry_loader(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2312 (ep_testsuite.so+0x000000043aa7) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28853 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_expiry_loader(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2312 (ep_testsuite.so+0x000000043aa7) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T17 'mc:writer_6' (tid=18953, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_expiry_loader(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2312 (ep_testsuite.so+0x000000043aa7) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18928) Write of size 8 at 0x7d14000026e8 by main thread (mutexes: write M28840, write M28853): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000026e8 by thread T15: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d14000026c0 allocated by thread T18: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M28840 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_expiry_loader(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2312 (ep_testsuite.so+0x000000043aa7) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28853 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_expiry_loader(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2312 (ep_testsuite.so+0x000000043aa7) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T15 'mc:writer_4' (tid=18951, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_expiry_loader(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2312 (ep_testsuite.so+0x000000043aa7) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=18954, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_expiry_loader(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2312 (ep_testsuite.so+0x000000043aa7) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18928) Write of size 8 at 0x7d140000e3f8 by main thread (mutexes: write M28840, write M28853): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e3f8 by thread T17: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e3d0 allocated by thread T18: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M28840 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_expiry_loader(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2312 (ep_testsuite.so+0x000000043aa7) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28853 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_expiry_loader(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2312 (ep_testsuite.so+0x000000043aa7) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T17 'mc:writer_6' (tid=18953, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_expiry_loader(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2312 (ep_testsuite.so+0x000000043aa7) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=18954, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_expiry_loader(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2312 (ep_testsuite.so+0x000000043aa7) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 6 warnings ================== WARNING: ThreadSanitizer: data race (pid=18957) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18969, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18957) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18964, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18957) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=18965, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=18967, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18957) Write of size 8 at 0x7d140001d178 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001d178 by thread T7: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001d150 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=18966, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=18967, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=18975) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_expiration_on_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2394 (ep_testsuite.so+0x0000000449bd) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18987, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18975) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_expiration_on_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2394 (ep_testsuite.so+0x0000000449bd) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=18987, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18975) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_expiration_on_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2394 (ep_testsuite.so+0x0000000449bd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=18983, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18975) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_expiration_on_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2394 (ep_testsuite.so+0x0000000449bd) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=18985, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18982, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18975) Write of size 8 at 0x7d140000e3f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_expiration_on_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2394 (ep_testsuite.so+0x0000000449bd) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e3f8 by thread T7: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e3d0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=18984, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=18982, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18975) Atomic write of size 8 at 0x7d780000f788 by thread T20: #0 __tsan_atomic64_store :0 (engine_testapp+0x00000009d887) #1 std::__atomic_base::store(unsigned long, std::memory_order) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/atomic_base.h:474 (ep.so+0x000000083586) #2 ExpiredItemPager::updateExpPagerTime(double) /root/manu/ep-engine/src/item_pager.cc:355 (ep.so+0x00000027e7dc) #3 ExpiredItemPager::run() /root/manu/ep-engine/src/item_pager.cc:346 (ep.so+0x00000027eaea) #4 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #5 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #6 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous read of size 8 at 0x7d780000f788 by main thread (mutexes: write M2256441024064843680): #0 gmtime_r :0 (engine_testapp+0x0000000643ae) #1 cb_gmtime_r /root/manu/platform/src/cb_time.c:92 (libplatform.so.0.1.0+0x000000008c00) #2 EventuallyPersistentEngine::doEngineStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:3534 (ep.so+0x0000001f4227) #3 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4538 (ep.so+0x0000001fd68a) #4 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #5 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #6 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #7 wait_for_stat_change(engine_interface*, engine_interface_v1*, char const*, int, char const*, long) /root/manu/ep-engine/tests/ep_test_apis.cc:1108 (ep_testsuite.so+0x00000011b221) #8 test_expiration_on_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2402 (ep_testsuite.so+0x000000044b40) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Location is heap block of size 2672 at 0x7d780000f000 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 create_instance /root/manu/ep-engine/src/ep_engine.cc:1806 (ep.so+0x0000001e099b) #2 create_engine_instance /root/manu/memcached/utilities/engine_loader.c:121 (libmcd_util.so.1.0.0+0x00000000de28) #3 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:924 (engine_testapp+0x0000000bc261) #4 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #5 test_expiration_on_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2394 (ep_testsuite.so+0x0000000449bd) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M2256441024064843680 is already destroyed. Thread T20 'mc:nonio_9' (tid=19003, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_expiration_on_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2394 (ep_testsuite.so+0x0000000449bd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race ??:0 __tsan_atomic64_store ================== ================== WARNING: ThreadSanitizer: data race (pid=18975) Write of size 8 at 0x7d140000e6c8 by main thread (mutexes: write M28869, write M28885): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e6c8 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e6a0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_expiration_on_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2394 (ep_testsuite.so+0x0000000449bd) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28869 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_expiration_on_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2394 (ep_testsuite.so+0x0000000449bd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28885 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_expiration_on_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2394 (ep_testsuite.so+0x0000000449bd) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=19003, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_expiration_on_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2394 (ep_testsuite.so+0x0000000449bd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=18975) Write of size 8 at 0x7d1400004ee8 by main thread (mutexes: write M28869, write M28882): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400004ee8 by thread T16: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400004ec0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_expiration_on_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2394 (ep_testsuite.so+0x0000000449bd) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28869 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_expiration_on_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2394 (ep_testsuite.so+0x0000000449bd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28882 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_expiration_on_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2394 (ep_testsuite.so+0x0000000449bd) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T16 'mc:writer_5' (tid=18999, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_expiration_on_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2394 (ep_testsuite.so+0x0000000449bd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 8 warnings ================== WARNING: ThreadSanitizer: data race (pid=19004) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_bug3454(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2464 (ep_testsuite.so+0x0000000459d9) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19016, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19004) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_bug3454(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2464 (ep_testsuite.so+0x0000000459d9) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19016, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19004) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_bug3454(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2464 (ep_testsuite.so+0x0000000459d9) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=19013, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19004) Read of size 8 at 0x7d14000077d8 by thread T18: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:156 (ep.so+0x00000026bef2) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d14000077d8 by thread T16: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:182 (ep.so+0x000000275933) #2 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d14000077b0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_bug3454(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2464 (ep_testsuite.so+0x0000000459d9) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=19030, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_bug3454(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2464 (ep_testsuite.so+0x0000000459d9) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T16 'mc:writer_5' (tid=19028, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_bug3454(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2464 (ep_testsuite.so+0x0000000459d9) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/executorthread.cc:156 ExecutorThread::run() ================== ================== WARNING: ThreadSanitizer: data race (pid=19004) Write of size 8 at 0x7d140000e448 by main thread (mutexes: write M28912, write M28928): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e448 by thread T20: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e420 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_bug3454(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2464 (ep_testsuite.so+0x0000000459d9) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28912 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_bug3454(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2464 (ep_testsuite.so+0x0000000459d9) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28928 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_bug3454(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2464 (ep_testsuite.so+0x0000000459d9) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=19032, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_bug3454(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2464 (ep_testsuite.so+0x0000000459d9) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19004) Write of size 8 at 0x7d140001b788 by main thread (mutexes: write M28912, write M28928): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140001b788 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140001b760 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_bug3454(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2464 (ep_testsuite.so+0x0000000459d9) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28912 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_bug3454(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2464 (ep_testsuite.so+0x0000000459d9) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28928 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_bug3454(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2464 (ep_testsuite.so+0x0000000459d9) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=19032, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_bug3454(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2464 (ep_testsuite.so+0x0000000459d9) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19004) Write of size 8 at 0x7d14000026e8 by main thread (mutexes: write M28912, write M28925): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000026e8 by thread T18: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d14000026c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_bug3454(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2464 (ep_testsuite.so+0x0000000459d9) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28912 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_bug3454(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2464 (ep_testsuite.so+0x0000000459d9) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28925 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_bug3454(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2464 (ep_testsuite.so+0x0000000459d9) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=19030, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_bug3454(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2464 (ep_testsuite.so+0x0000000459d9) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 7 warnings ================== WARNING: ThreadSanitizer: data race (pid=19033) Atomic write of size 8 at 0x7d780000f788 by thread T10: #0 __tsan_atomic64_store :0 (engine_testapp+0x00000009d887) #1 std::__atomic_base::store(unsigned long, std::memory_order) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/atomic_base.h:474 (ep.so+0x000000083586) #2 ExpiredItemPager::updateExpPagerTime(double) /root/manu/ep-engine/src/item_pager.cc:355 (ep.so+0x00000027e7dc) #3 ExpiredItemPager::run() /root/manu/ep-engine/src/item_pager.cc:346 (ep.so+0x00000027eaea) #4 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #5 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #6 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous read of size 8 at 0x7d780000f788 by main thread (mutexes: write M2177628030585860000): #0 gmtime_r :0 (engine_testapp+0x0000000643ae) #1 cb_gmtime_r /root/manu/platform/src/cb_time.c:92 (libplatform.so.0.1.0+0x000000008c00) #2 EventuallyPersistentEngine::doEngineStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:3534 (ep.so+0x0000001f4227) #3 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4538 (ep.so+0x0000001fd68a) #4 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #5 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #6 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #7 wait_for_stat_change(engine_interface*, engine_interface_v1*, char const*, int, char const*, long) /root/manu/ep-engine/tests/ep_test_apis.cc:1108 (ep_testsuite.so+0x00000011b221) #8 test_bug3522(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2519 (ep_testsuite.so+0x000000046664) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Location is heap block of size 2672 at 0x7d780000f000 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 create_instance /root/manu/ep-engine/src/ep_engine.cc:1806 (ep.so+0x0000001e099b) #2 create_engine_instance /root/manu/memcached/utilities/engine_loader.c:121 (libmcd_util.so.1.0.0+0x00000000de28) #3 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:924 (engine_testapp+0x0000000bc261) #4 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #5 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M2177628030585860000 is already destroyed. Thread T10 'mc:nonio_9' (tid=19045, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race ??:0 __tsan_atomic64_store ================== ================== WARNING: ThreadSanitizer: data race (pid=19033) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_bug3522(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2523 (ep_testsuite.so+0x00000004673f) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19045, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19033) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_bug3522(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2523 (ep_testsuite.so+0x00000004673f) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19045, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19033) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_bug3522(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2523 (ep_testsuite.so+0x00000004673f) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=19042, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19033) Write of size 8 at 0x7d1400004ee8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_bug3522(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2523 (ep_testsuite.so+0x00000004673f) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400004ee8 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400004ec0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=19040, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=19042, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19033) Write of size 8 at 0x7d1400004f38 by main thread (mutexes: write M28947, write M28963): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400004f38 by thread T20: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400004f10 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_bug3522(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2523 (ep_testsuite.so+0x00000004673f) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28947 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_bug3522(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2523 (ep_testsuite.so+0x00000004673f) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28963 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_bug3522(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2523 (ep_testsuite.so+0x00000004673f) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=19062, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_bug3522(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2523 (ep_testsuite.so+0x00000004673f) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19033) Write of size 8 at 0x7d1400007698 by main thread (mutexes: write M28947, write M28960): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400007698 by thread T17: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400007670 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_bug3522(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2523 (ep_testsuite.so+0x00000004673f) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28947 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_bug3522(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2523 (ep_testsuite.so+0x00000004673f) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28960 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_bug3522(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2523 (ep_testsuite.so+0x00000004673f) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T17 'mc:writer_6' (tid=19059, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_bug3522(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2523 (ep_testsuite.so+0x00000004673f) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19033) Write of size 8 at 0x7d1400002648 by main thread (mutexes: write M28947, write M28960): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400002648 by thread T18: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400002620 allocated by thread T18: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M28947 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_bug3522(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2523 (ep_testsuite.so+0x00000004673f) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28960 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_bug3522(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2523 (ep_testsuite.so+0x00000004673f) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=19060, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_bug3522(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2523 (ep_testsuite.so+0x00000004673f) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 8 warnings ================== WARNING: ThreadSanitizer: data race (pid=19063) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19075, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19063) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19075, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19063) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=19070, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=19081) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19093, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19081) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=19088, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=19091, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19081) Write of size 8 at 0x7d1400004f88 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400004f88 by thread T7: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400004f60 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=19090, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=19091, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=19099) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19111, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19099) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=19108, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19099) Write of size 8 at 0x7d1400004cb8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400004cb8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400004c90 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=19108, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=19106, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19099) Write of size 8 at 0x7d140000e218 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e218 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e1f0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=19107, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=19106, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=19117) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19130, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19117) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=19125, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19117) Write of size 8 at 0x7d1400002788 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400002788 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400002760 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=19125, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=19136) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19148, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19136) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19148, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19136) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=19143, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19136) Write of size 8 at 0x7d1400007508 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400007508 by thread T8: [failed to restore the stack] Location is heap block of size 80 at 0x7d14000074e0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=19146, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=19145, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=19154) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19166, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19154) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19166, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19154) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=19163, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=19172) Write of size 8 at 0x7d140000e948 by thread T6: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:53 (ep.so+0x0000002e8f7a) #1 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:182 (ep.so+0x000000275933) #2 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous read of size 8 at 0x7d140000e948 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:156 (ep.so+0x00000026bef2) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e920 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=19180, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=19182, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/tasks.cc:53 GlobalTask::snooze(double) ================== ================== WARNING: ThreadSanitizer: data race (pid=19172) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19184, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19172) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19184, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19172) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=19181, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19172) Write of size 8 at 0x7d140001b6e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001b6e8 by thread T7: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001b6c0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=19181, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=19190) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19202, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19190) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=19200, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19190) Write of size 8 at 0x7d140001dfd8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001dfd8 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001dfb0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=19197, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=19200, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=19208) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19220, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19208) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19220, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19208) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=19215, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=19216, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19208) Write of size 8 at 0x7d14000076e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000076e8 by thread T8: [failed to restore the stack] Location is heap block of size 80 at 0x7d14000076c0 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=19218, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=19216, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=19226) Write of size 8 at 0x7d540000fe88 by thread T5 (mutexes: write M11109): #0 EventuallyPersistentStore::flushVBucket(unsigned short) /root/manu/ep-engine/src/ep.cc:3261 (ep.so+0x00000019c870) #1 Flusher::flushVB() /root/manu/ep-engine/src/flusher.cc:297 (ep.so+0x0000002768d9) #2 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:176 (ep.so+0x000000275810) #3 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #4 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #5 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #6 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d540000fe88 by thread T8 (mutexes: write M11108): #0 EventuallyPersistentStore::flushVBucket(unsigned short) /root/manu/ep-engine/src/ep.cc:3261 (ep.so+0x00000019c870) #1 Flusher::flushVB() /root/manu/ep-engine/src/flusher.cc:297 (ep.so+0x0000002768d9) #2 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:176 (ep.so+0x000000275810) #3 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #4 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #5 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #6 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 616 at 0x7d540000fc80 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e884f) #2 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #3 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #4 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #5 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #6 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11109 (0x7dc400000050) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:304 (ep.so+0x00000017b7a0) #4 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #5 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #6 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #7 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11108 (0x7dc400000010) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:304 (ep.so+0x00000017b7a0) #4 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #5 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #6 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #7 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=19233, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=19236, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/ep.cc:3261 EventuallyPersistentStore::flushVBucket(unsigned short) ================== ================== WARNING: ThreadSanitizer: data race (pid=19226) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19238, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19226) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=19235, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=19244) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19256, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19244) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=19252, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=19262) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19274, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19262) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19274, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19262) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) As if synchronized via sleep: #0 usleep :0 (engine_testapp+0x000000050d01) #1 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:47 (ep.so+0x000000274a67) #2 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #3 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #4 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #5 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #6 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #7 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=19270, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19262) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=19270, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=19269, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19262) Write of size 8 at 0x7d140001dfd8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001dfd8 by thread T7: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001dfb0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=19271, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=19269, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=19280) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19292, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19280) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19292, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19280) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=19289, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=19298) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19310, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19298) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19310, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19298) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=19308, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=19316) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_observe_seqno_failover(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:12018 (ep_testsuite.so+0x00000004e185) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=19326, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19316) Write of size 8 at 0x7d14000027d8 by main thread (mutexes: write M28911, write M28927): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d14000027d8 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:53 (ep.so+0x0000002e8f7a) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d14000027b0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_observe_seqno_failover(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:12018 (ep_testsuite.so+0x00000004e185) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28911 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_observe_seqno_failover(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:12018 (ep_testsuite.so+0x00000004e185) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28927 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_observe_seqno_failover(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:12018 (ep_testsuite.so+0x00000004e185) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=19344, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_observe_seqno_failover(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:12018 (ep_testsuite.so+0x00000004e185) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19316) Write of size 8 at 0x7d1400007648 by main thread (mutexes: write M28911, write M28927): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d1400007648 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400007620 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_observe_seqno_failover(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:12018 (ep_testsuite.so+0x00000004e185) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28911 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_observe_seqno_failover(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:12018 (ep_testsuite.so+0x00000004e185) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28927 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_observe_seqno_failover(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:12018 (ep_testsuite.so+0x00000004e185) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=19344, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_observe_seqno_failover(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:12018 (ep_testsuite.so+0x00000004e185) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19316) Write of size 8 at 0x7d140000e128 by main thread (mutexes: write M28911, write M28924): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e128 by thread T17: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e100 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_observe_seqno_failover(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:12018 (ep_testsuite.so+0x00000004e185) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28911 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_observe_seqno_failover(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:12018 (ep_testsuite.so+0x00000004e185) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28924 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_observe_seqno_failover(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:12018 (ep_testsuite.so+0x00000004e185) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T17 'mc:writer_6' (tid=19341, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_observe_seqno_failover(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:12018 (ep_testsuite.so+0x00000004e185) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19316) Write of size 8 at 0x7d1400002738 by main thread (mutexes: write M28911, write M28924): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400002738 by thread T16: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400002710 allocated by thread T17: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M28911 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_observe_seqno_failover(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:12018 (ep_testsuite.so+0x00000004e185) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28924 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_observe_seqno_failover(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:12018 (ep_testsuite.so+0x00000004e185) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T16 'mc:writer_5' (tid=19340, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_observe_seqno_failover(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:12018 (ep_testsuite.so+0x00000004e185) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T17 'mc:writer_6' (tid=19341, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_observe_seqno_failover(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:12018 (ep_testsuite.so+0x00000004e185) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=19345) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19357, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19345) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19357, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19345) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=19352, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=19363) Write of size 4 at 0x7d040000f5e8 by thread T10: #0 WorkLoadPolicy::setWorkLoadPattern(workload_pattern_t) /root/manu/ep-engine/src/workload.h:76 (ep.so+0x0000002eab18) #1 WorkLoadMonitor::run() /root/manu/ep-engine/src/tasks.cc:164 (ep.so+0x0000002ea5d6) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous read of size 4 at 0x7d040000f5e8 by main thread (mutexes: write M1650284661718445984): #0 WorkLoadPolicy::stringOfWorkLoadPattern() /root/manu/ep-engine/src/workload.h:65 (ep.so+0x0000002257dd) #1 EventuallyPersistentEngine::doEngineStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:3590 (ep.so+0x0000001f4ba1) #2 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4538 (ep.so+0x0000001fd68a) #3 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #4 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #5 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #6 wait_for_memory_usage_below(engine_interface*, engine_interface_v1*, int, long) /root/manu/ep-engine/tests/ep_test_apis.cc:1168 (ep_testsuite.so+0x00000011bc93) #7 test_item_pager(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:12502 (ep_testsuite.so+0x00000004f580) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Location is heap block of size 12 at 0x7d040000f5e0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2103 (ep.so+0x0000001e7ccd) #2 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #3 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #4 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #5 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #6 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M1650284661718445984 is already destroyed. Thread T10 'mc:nonio_9' (tid=19375, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/workload.h:76 WorkLoadPolicy::setWorkLoadPattern(workload_pattern_t) ================== ================== WARNING: ThreadSanitizer: data race (pid=19363) Read of size 8 at 0x7d680001f5c0 by main thread (mutexes: write M49282, write M14430): #0 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::size() const /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/hashtable.h:479 (ep.so+0x00000009f43e) #1 std::unordered_map, std::equal_to, std::allocator > >::size() const /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/unordered_map.h:234 (ep.so+0x0000000985f0) #2 VBucket::numPendingBGFetchItems() /root/manu/ep-engine/src/vbucket.h:365 (ep.so+0x0000001ae579) #3 EventuallyPersistentStore::bgFetch(std::string const&, unsigned short, void const*, bool) /root/manu/ep-engine/src/ep.cc:1931 (ep.so+0x00000018418a) #4 EventuallyPersistentStore::getInternal(std::string const&, unsigned short, void const*, bool, bool, vbucket_state_t, bool) /root/manu/ep-engine/src/ep.cc:1996 (ep.so+0x0000001913ef) #5 EventuallyPersistentStore::get(std::string const&, unsigned short, void const*, bool, bool, bool) /root/manu/ep-engine/src/ep.h:277 (ep.so+0x000000248006) #6 EventuallyPersistentEngine::get(void const*, void**, void const*, int, unsigned short, bool) /root/manu/ep-engine/src/ep_engine.h:317 (ep.so+0x000000221875) #7 EvpGet(engine_interface*, void const*, void**, void const*, int, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:201 (ep.so+0x0000001e27b1) #8 mock_get(engine_interface*, void const*, void**, void const*, int, unsigned short) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:206 (engine_testapp+0x0000000bf9ac) #9 test_item_pager(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:12535 (ep_testsuite.so+0x00000004f7e3) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d680001f5c0 by thread T1 (mutexes: write M14459): #0 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::clear() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/hashtable.h:1643 (ep.so+0x000000099dad) #1 std::unordered_map, std::equal_to, std::allocator > >::clear() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/unordered_map.h:498 (ep.so+0x0000000996c0) #2 VBucket::getBGFetchItems(std::unordered_map, std::equal_to, std::allocator > >&) /root/manu/ep-engine/src/vbucket.cc:300 (ep.so+0x0000002fd136) #3 BgFetcher::run(GlobalTask*) /root/manu/ep-engine/src/bgfetcher.cc:135 (ep.so+0x000000097a21) #4 BgFetcherTask::run() /root/manu/ep-engine/src/tasks.cc:105 (ep.so+0x0000002e9afe) #5 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #6 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #7 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 1328 at 0x7d680001f200 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::setVBucketState(unsigned short, vbucket_state_t, bool, bool) /root/manu/ep-engine/src/ep.cc:1292 (ep.so+0x000000189b06) #2 EventuallyPersistentEngine::setVBucketState(unsigned short, vbucket_state_t, bool) /root/manu/ep-engine/src/ep_engine.h:715 (ep.so+0x00000024a7a2) #3 setVBucket(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:878 (ep.so+0x000000217458) #4 processUnknownCommand(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1172 (ep.so+0x00000021400a) #5 EvpUnknownCommand(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1383 (ep.so+0x0000001e3215) #6 mock_unknown_command(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:380 (engine_testapp+0x0000000c14c2) #7 set_vbucket_state(engine_interface*, engine_interface_v1*, unsigned short, vbucket_state_t) /root/manu/ep-engine/tests/ep_test_apis.cc:607 (ep_testsuite.so+0x0000001149a3) #8 test_setup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite_common.cc:146 (ep_testsuite.so+0x0000001094b7) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1085 (engine_testapp+0x0000000bd5fb) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M49282 (0x7d280000efa0) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 mock_get(engine_interface*, void const*, void**, void const*, int, unsigned short) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:200 (engine_testapp+0x0000000bf7e6) #4 test_item_pager(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:12535 (ep_testsuite.so+0x00000004f7e3) #5 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #6 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M14430 (0x7d780000eb50) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 HashTable /root/manu/ep-engine/src/stored-value.h:827 (ep.so+0x0000001d3268) #4 VBucket /root/manu/ep-engine/src/vbucket.h:188 (ep.so+0x0000001aa487) #5 EventuallyPersistentStore::setVBucketState(unsigned short, vbucket_state_t, bool, bool) /root/manu/ep-engine/src/ep.cc:1292 (ep.so+0x000000189c83) #6 EventuallyPersistentEngine::setVBucketState(unsigned short, vbucket_state_t, bool) /root/manu/ep-engine/src/ep_engine.h:715 (ep.so+0x00000024a7a2) #7 setVBucket(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:878 (ep.so+0x000000217458) #8 processUnknownCommand(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1172 (ep.so+0x00000021400a) #9 EvpUnknownCommand(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1383 (ep.so+0x0000001e3215) #10 mock_unknown_command(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:380 (engine_testapp+0x0000000c14c2) #11 set_vbucket_state(engine_interface*, engine_interface_v1*, unsigned short, vbucket_state_t) /root/manu/ep-engine/tests/ep_test_apis.cc:607 (ep_testsuite.so+0x0000001149a3) #12 test_setup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite_common.cc:146 (ep_testsuite.so+0x0000001094b7) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1085 (engine_testapp+0x0000000bd5fb) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M14459 (0x7d680001f570) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 VBucket /root/manu/ep-engine/src/vbucket.h:188 (ep.so+0x0000001aaa11) #4 EventuallyPersistentStore::setVBucketState(unsigned short, vbucket_state_t, bool, bool) /root/manu/ep-engine/src/ep.cc:1292 (ep.so+0x000000189c83) #5 EventuallyPersistentEngine::setVBucketState(unsigned short, vbucket_state_t, bool) /root/manu/ep-engine/src/ep_engine.h:715 (ep.so+0x00000024a7a2) #6 setVBucket(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:878 (ep.so+0x000000217458) #7 processUnknownCommand(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1172 (ep.so+0x00000021400a) #8 EvpUnknownCommand(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1383 (ep.so+0x0000001e3215) #9 mock_unknown_command(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:380 (engine_testapp+0x0000000c14c2) #10 set_vbucket_state(engine_interface*, engine_interface_v1*, unsigned short, vbucket_state_t) /root/manu/ep-engine/tests/ep_test_apis.cc:607 (ep_testsuite.so+0x0000001149a3) #11 test_setup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite_common.cc:146 (ep_testsuite.so+0x0000001094b7) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1085 (engine_testapp+0x0000000bd5fb) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T1 'mc:reader_0' (tid=19366, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:478 (ep.so+0x0000002530b6) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/hashtable.h:479 std::_Hashtable, std::allocator >, std::__detail::_Select1st, std::equal_to, std::hash, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits >::size() const ================== ================== WARNING: ThreadSanitizer: data race (pid=19363) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19375, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19363) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=19372, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=19373, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=19417) Read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:156 (ep.so+0x00000026bef2) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d140000e9e8 by thread T6: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:182 (ep.so+0x000000275933) #2 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=19424, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=19425, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/executorthread.cc:156 ExecutorThread::run() ================== ================== WARNING: ThreadSanitizer: data race (pid=19417) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8098 (ep_testsuite.so+0x00000005031c) #11 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8072 (ep_testsuite.so+0x00000004fc91) #12 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8070 (ep_testsuite.so+0x00000004fc14) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19429, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19417) Write of size 8 at 0x7d140000c8c8 by main thread (mutexes: write M29448, write M29464): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8070 (ep_testsuite.so+0x00000004fc14) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000c8c8 by thread T20: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000c8a0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8098 (ep_testsuite.so+0x00000005031c) #8 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8072 (ep_testsuite.so+0x00000004fc91) #9 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8070 (ep_testsuite.so+0x00000004fc14) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M29448 (0x7d500001c320) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8098 (ep_testsuite.so+0x00000005031c) #13 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8072 (ep_testsuite.so+0x00000004fc91) #14 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8070 (ep_testsuite.so+0x00000004fc14) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M29464 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8098 (ep_testsuite.so+0x00000005031c) #14 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8072 (ep_testsuite.so+0x00000004fc91) #15 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8070 (ep_testsuite.so+0x00000004fc14) #16 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #17 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=19445, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8098 (ep_testsuite.so+0x00000005031c) #13 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8072 (ep_testsuite.so+0x00000004fc91) #14 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8070 (ep_testsuite.so+0x00000004fc14) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19417) Write of size 8 at 0x7d140000c968 by main thread (mutexes: write M29448, write M29464): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8070 (ep_testsuite.so+0x00000004fc14) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000c968 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000c940 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8098 (ep_testsuite.so+0x00000005031c) #8 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8072 (ep_testsuite.so+0x00000004fc91) #9 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8070 (ep_testsuite.so+0x00000004fc14) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M29448 (0x7d500001c320) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8098 (ep_testsuite.so+0x00000005031c) #13 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8072 (ep_testsuite.so+0x00000004fc91) #14 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8070 (ep_testsuite.so+0x00000004fc14) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M29464 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8098 (ep_testsuite.so+0x00000005031c) #14 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8072 (ep_testsuite.so+0x00000004fc91) #15 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8070 (ep_testsuite.so+0x00000004fc14) #16 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #17 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=19445, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8098 (ep_testsuite.so+0x00000005031c) #13 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8072 (ep_testsuite.so+0x00000004fc91) #14 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8070 (ep_testsuite.so+0x00000004fc14) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19417) Write of size 8 at 0x7d140001b508 by main thread (mutexes: write M29448, write M29461): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8070 (ep_testsuite.so+0x00000004fc14) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001b508 by thread T18: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140001b4e0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8098 (ep_testsuite.so+0x00000005031c) #11 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8072 (ep_testsuite.so+0x00000004fc91) #12 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8070 (ep_testsuite.so+0x00000004fc14) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M29448 (0x7d500001c320) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8098 (ep_testsuite.so+0x00000005031c) #13 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8072 (ep_testsuite.so+0x00000004fc91) #14 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8070 (ep_testsuite.so+0x00000004fc14) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M29461 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8098 (ep_testsuite.so+0x00000005031c) #14 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8072 (ep_testsuite.so+0x00000004fc91) #15 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8070 (ep_testsuite.so+0x00000004fc14) #16 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #17 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=19443, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8098 (ep_testsuite.so+0x00000005031c) #13 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8072 (ep_testsuite.so+0x00000004fc91) #14 test_warmup_conf(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8070 (ep_testsuite.so+0x00000004fc14) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=19446) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19458, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19446) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19458, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19446) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=19454, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=19455, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19446) Write of size 8 at 0x7d1400004f88 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400004f88 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400004f60 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=19453, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=19455, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=19464) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 test_bloomfilters(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8211 (ep_testsuite.so+0x000000051b2a) #11 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #12 test_bloomfilters(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8153 (ep_testsuite.so+0x000000050e84) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19476, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19464) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 test_bloomfilters(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8211 (ep_testsuite.so+0x000000051b2a) #11 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #12 test_bloomfilters(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8153 (ep_testsuite.so+0x000000050e84) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19476, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19464) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 test_bloomfilters(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8211 (ep_testsuite.so+0x000000051b2a) #13 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #14 test_bloomfilters(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8153 (ep_testsuite.so+0x000000050e84) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=19472, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=19483) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 test_bloomfilters(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8153 (ep_testsuite.so+0x000000050e84) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19495, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19483) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 test_bloomfilters(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8153 (ep_testsuite.so+0x000000050e84) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=19490, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=19502) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8298 (ep_testsuite.so+0x000000052f06) #11 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #12 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8281 (ep_testsuite.so+0x000000052b94) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19514, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19502) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8298 (ep_testsuite.so+0x000000052f06) #13 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #14 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8281 (ep_testsuite.so+0x000000052b94) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=19512, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=19521) Read of size 8 at 0x7d680001f678 by main thread (mutexes: write M16520): #0 VBucket::getHighPriorityChkSize() /root/manu/ep-engine/src/vbucket.cc:401 (ep.so+0x0000002fe6be) #1 VBucketCountVisitor::visitBucket(RCPtr&) /root/manu/ep-engine/src/ep_engine.cc:3020 (ep.so+0x0000001ee3a2) #2 VBucketCountAggregator::visitBucket(RCPtr&) /root/manu/ep-engine/src/ep_engine.cc:3057 (ep.so+0x0000001eece1) #3 EventuallyPersistentStore::visit(VBucketVisitor&) /root/manu/ep-engine/src/ep.cc:3673 (ep.so+0x000000188064) #4 EventuallyPersistentEngine::doEngineStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:3083 (ep.so+0x0000001eef77) #5 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4538 (ep.so+0x0000001fd68a) #6 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #7 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #8 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #9 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #10 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8338 (ep_testsuite.so+0x000000053a05) #11 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #12 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8323 (ep_testsuite.so+0x000000053620) #13 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #14 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8298 (ep_testsuite.so+0x000000052f06) #15 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #16 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8281 (ep_testsuite.so+0x000000052b94) #17 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #18 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d680001f678 by thread T6 (mutexes: write M11108, write M14450): #0 VBucket::notifyCheckpointPersisted(EventuallyPersistentEngine&, unsigned long, bool) /root/manu/ep-engine/src/vbucket.cc:356 (ep.so+0x0000002fddee) #1 EventuallyPersistentStore::flushVBucket(unsigned short) /root/manu/ep-engine/src/ep.cc:3289 (ep.so+0x00000019ce3d) #2 Flusher::flushVB() /root/manu/ep-engine/src/flusher.cc:297 (ep.so+0x0000002768d9) #3 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:176 (ep.so+0x000000275810) #4 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #5 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #6 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #7 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 1328 at 0x7d680001f200 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::setVBucketState(unsigned short, vbucket_state_t, bool, bool) /root/manu/ep-engine/src/ep.cc:1292 (ep.so+0x000000189b06) #2 EventuallyPersistentEngine::setVBucketState(unsigned short, vbucket_state_t, bool) /root/manu/ep-engine/src/ep_engine.h:715 (ep.so+0x00000024a7a2) #3 setVBucket(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:878 (ep.so+0x000000217458) #4 processUnknownCommand(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1172 (ep.so+0x00000021400a) #5 EvpUnknownCommand(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1383 (ep.so+0x0000001e3215) #6 mock_unknown_command(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:380 (engine_testapp+0x0000000c14c2) #7 set_vbucket_state(engine_interface*, engine_interface_v1*, unsigned short, vbucket_state_t) /root/manu/ep-engine/tests/ep_test_apis.cc:607 (ep_testsuite.so+0x0000001149a3) #8 test_setup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite_common.cc:146 (ep_testsuite.so+0x0000001094b7) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1085 (engine_testapp+0x0000000bd5fb) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M16520 (0x7d280000efa0) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:233 (engine_testapp+0x0000000c0d87) #4 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #5 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #6 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8338 (ep_testsuite.so+0x000000053a05) #7 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #8 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8323 (ep_testsuite.so+0x000000053620) #9 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #10 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8298 (ep_testsuite.so+0x000000052f06) #11 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #12 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8281 (ep_testsuite.so+0x000000052b94) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11108 (0x7dc400000010) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:304 (ep.so+0x00000017b7a0) #4 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #5 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #6 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #7 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M14450 (0x7d680001f630) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 VBucket /root/manu/ep-engine/src/vbucket.h:188 (ep.so+0x0000001aab38) #4 EventuallyPersistentStore::setVBucketState(unsigned short, vbucket_state_t, bool, bool) /root/manu/ep-engine/src/ep.cc:1292 (ep.so+0x000000189c83) #5 EventuallyPersistentEngine::setVBucketState(unsigned short, vbucket_state_t, bool) /root/manu/ep-engine/src/ep_engine.h:715 (ep.so+0x00000024a7a2) #6 setVBucket(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:878 (ep.so+0x000000217458) #7 processUnknownCommand(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1172 (ep.so+0x00000021400a) #8 EvpUnknownCommand(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1383 (ep.so+0x0000001e3215) #9 mock_unknown_command(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:380 (engine_testapp+0x0000000c14c2) #10 set_vbucket_state(engine_interface*, engine_interface_v1*, unsigned short, vbucket_state_t) /root/manu/ep-engine/tests/ep_test_apis.cc:607 (ep_testsuite.so+0x0000001149a3) #11 test_setup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite_common.cc:146 (ep_testsuite.so+0x0000001094b7) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1085 (engine_testapp+0x0000000bd5fb) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=19529, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/vbucket.cc:401 VBucket::getHighPriorityChkSize() ================== ================== WARNING: ThreadSanitizer: data race (pid=19521) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8349 (ep_testsuite.so+0x000000053d47) #11 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #12 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8338 (ep_testsuite.so+0x000000053a05) #13 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #14 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8323 (ep_testsuite.so+0x000000053620) #15 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #16 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8298 (ep_testsuite.so+0x000000052f06) #17 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #18 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8281 (ep_testsuite.so+0x000000052b94) #19 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #20 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19533, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19521) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8349 (ep_testsuite.so+0x000000053d47) #11 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #12 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8338 (ep_testsuite.so+0x000000053a05) #13 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #14 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8323 (ep_testsuite.so+0x000000053620) #15 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #16 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8298 (ep_testsuite.so+0x000000052f06) #17 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #18 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8281 (ep_testsuite.so+0x000000052b94) #19 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #20 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19533, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19521) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8349 (ep_testsuite.so+0x000000053d47) #12 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #13 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8338 (ep_testsuite.so+0x000000053a05) #14 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #15 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8323 (ep_testsuite.so+0x000000053620) #16 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #17 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8298 (ep_testsuite.so+0x000000052f06) #18 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #19 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8281 (ep_testsuite.so+0x000000052b94) #20 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #21 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=19530, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=19528, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19521) Write of size 8 at 0x7d1400007558 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8349 (ep_testsuite.so+0x000000053d47) #12 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #13 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8338 (ep_testsuite.so+0x000000053a05) #14 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #15 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8323 (ep_testsuite.so+0x000000053620) #16 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #17 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8298 (ep_testsuite.so+0x000000052f06) #18 get_int_stat_or_default(engine_interface*, engine_interface_v1*, int, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1043 (ep_testsuite.so+0x00000011ad66) #19 test_bloomfilters_with_store_apis(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8281 (ep_testsuite.so+0x000000052b94) #20 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #21 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400007558 by thread T8: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400007530 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=19531, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=19528, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=19540) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19552, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19540) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19552, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19540) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=19550, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19540) Write of size 8 at 0x7d140000c5f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000c5f8 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000c5d0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=19548, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=19550, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=19558) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19570, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19558) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19570, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19558) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=19568, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=19576) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19588, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19576) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19588, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19576) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=19584, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=19586, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19576) Write of size 8 at 0x7d140000c698 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000c698 by thread T7: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000c670 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=19585, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=19586, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=19594) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19606, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19594) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19606, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19594) Write of size 8 at 0x7d140000e948 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e948 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e920 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=19604, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19594) Write of size 8 at 0x7d140001df38 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001df38 by thread T7: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001df10 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=19603, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=19612) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19624, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19612) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19624, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19612) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=19620, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=19630) Write of size 8 at 0x7d680001f678 by thread T8 (mutexes: write M11108, write M14463): #0 VBucket::notifyCheckpointPersisted(EventuallyPersistentEngine&, unsigned long, bool) /root/manu/ep-engine/src/vbucket.cc:356 (ep.so+0x0000002fddee) #1 EventuallyPersistentStore::flushVBucket(unsigned short) /root/manu/ep-engine/src/ep.cc:3288 (ep.so+0x00000019cdde) #2 Flusher::flushVB() /root/manu/ep-engine/src/flusher.cc:297 (ep.so+0x0000002768d9) #3 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:176 (ep.so+0x000000275810) #4 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #5 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #6 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #7 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous read of size 8 at 0x7d680001f678 by main thread (mutexes: write M139608461712355232): #0 VBucket::getHighPriorityChkSize() /root/manu/ep-engine/src/vbucket.cc:401 (ep.so+0x0000002fe6be) #1 VBucketCountVisitor::visitBucket(RCPtr&) /root/manu/ep-engine/src/ep_engine.cc:3020 (ep.so+0x0000001ee3a2) #2 VBucketCountAggregator::visitBucket(RCPtr&) /root/manu/ep-engine/src/ep_engine.cc:3057 (ep.so+0x0000001eece1) #3 EventuallyPersistentStore::visit(VBucketVisitor&) /root/manu/ep-engine/src/ep.cc:3673 (ep.so+0x000000188064) #4 EventuallyPersistentEngine::doEngineStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:3083 (ep.so+0x0000001eef77) #5 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4538 (ep.so+0x0000001fd68a) #6 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #7 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #8 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #9 test_access_scanner(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8569 (ep_testsuite.so+0x0000000569f3) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Location is heap block of size 1328 at 0x7d680001f200 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::setVBucketState(unsigned short, vbucket_state_t, bool, bool) /root/manu/ep-engine/src/ep.cc:1292 (ep.so+0x000000189b06) #2 EventuallyPersistentEngine::setVBucketState(unsigned short, vbucket_state_t, bool) /root/manu/ep-engine/src/ep_engine.h:715 (ep.so+0x00000024a7a2) #3 setVBucket(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:878 (ep.so+0x000000217458) #4 processUnknownCommand(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1172 (ep.so+0x00000021400a) #5 EvpUnknownCommand(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1383 (ep.so+0x0000001e3215) #6 mock_unknown_command(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:380 (engine_testapp+0x0000000c14c2) #7 set_vbucket_state(engine_interface*, engine_interface_v1*, unsigned short, vbucket_state_t) /root/manu/ep-engine/tests/ep_test_apis.cc:607 (ep_testsuite.so+0x0000001149a3) #8 test_setup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite_common.cc:146 (ep_testsuite.so+0x0000001094b7) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1085 (engine_testapp+0x0000000bd5fb) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11108 (0x7dc400000010) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:304 (ep.so+0x00000017b7a0) #4 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #5 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #6 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #7 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M14463 (0x7d680001f630) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 VBucket /root/manu/ep-engine/src/vbucket.h:188 (ep.so+0x0000001aab38) #4 EventuallyPersistentStore::setVBucketState(unsigned short, vbucket_state_t, bool, bool) /root/manu/ep-engine/src/ep.cc:1292 (ep.so+0x000000189c83) #5 EventuallyPersistentEngine::setVBucketState(unsigned short, vbucket_state_t, bool) /root/manu/ep-engine/src/ep_engine.h:715 (ep.so+0x00000024a7a2) #6 setVBucket(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:878 (ep.so+0x000000217458) #7 processUnknownCommand(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1172 (ep.so+0x00000021400a) #8 EvpUnknownCommand(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1383 (ep.so+0x0000001e3215) #9 mock_unknown_command(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:380 (engine_testapp+0x0000000c14c2) #10 set_vbucket_state(engine_interface*, engine_interface_v1*, unsigned short, vbucket_state_t) /root/manu/ep-engine/tests/ep_test_apis.cc:607 (ep_testsuite.so+0x0000001149a3) #11 test_setup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite_common.cc:146 (ep_testsuite.so+0x0000001094b7) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1085 (engine_testapp+0x0000000bd5fb) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M139608461712355232 is already destroyed. Thread T8 'mc:writer_7' (tid=19640, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/vbucket.cc:356 VBucket::notifyCheckpointPersisted(EventuallyPersistentEngine&, unsigned long, bool) ================== ================== WARNING: ThreadSanitizer: data race (pid=19630) Read of size 4 at 0x7d040000f5f8 by main thread (mutexes: write M17920): #0 WorkLoadPolicy::stringOfWorkLoadPattern() /root/manu/ep-engine/src/workload.h:65 (ep.so+0x0000002257dd) #1 EventuallyPersistentEngine::doEngineStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:3590 (ep.so+0x0000001f4ba1) #2 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4538 (ep.so+0x0000001fd68a) #3 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #4 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #5 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #6 test_access_scanner(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8569 (ep_testsuite.so+0x0000000569f3) #7 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #8 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 4 at 0x7d040000f5f8 by thread T10: #0 WorkLoadPolicy::setWorkLoadPattern(workload_pattern_t) /root/manu/ep-engine/src/workload.h:76 (ep.so+0x0000002eab18) #1 WorkLoadMonitor::run() /root/manu/ep-engine/src/tasks.cc:160 (ep.so+0x0000002ea532) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 12 at 0x7d040000f5f0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2103 (ep.so+0x0000001e7ccd) #2 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #3 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #4 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #5 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #6 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M17920 (0x7d280000efa0) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:233 (engine_testapp+0x0000000c0d87) #4 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #5 test_access_scanner(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8569 (ep_testsuite.so+0x0000000569f3) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19642, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/workload.h:65 WorkLoadPolicy::stringOfWorkLoadPattern() ================== ================== WARNING: ThreadSanitizer: data race (pid=19630) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M144713, write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wake() /root/manu/ep-engine/src/flusher.cc:156 (ep.so+0x0000002747c2) #5 Flusher::notifyFlushEvent() /root/manu/ep-engine/src/flusher.h:90 (ep.so+0x0000001b0162) #6 EventuallyPersistentStore::queueDirty(RCPtr&, StoredValue*, LockHolder*, unsigned long*, bool, bool, bool, bool) /root/manu/ep-engine/src/ep.cc:3408 (ep.so+0x000000182801) #7 EventuallyPersistentStore::set(Item const&, void const*, bool, unsigned char) /root/manu/ep-engine/src/ep.cc:853 (ep.so+0x000000185392) #8 EventuallyPersistentEngine::store(void const*, void*, unsigned long*, ENGINE_STORE_OPERATION, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:2241 (ep.so+0x0000001e9668) #9 EvpStore(engine_interface*, void const*, void*, unsigned long*, ENGINE_STORE_OPERATION, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:228 (ep.so+0x0000001e2b2d) #10 mock_store(engine_interface*, void const*, void*, unsigned long*, ENGINE_STORE_OPERATION, unsigned short) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:272 (engine_testapp+0x0000000bfe9c) #11 storeCasVb11(engine_interface*, engine_interface_v1*, void const*, ENGINE_STORE_OPERATION, char const*, char const*, unsigned long, unsigned int, void**, unsigned long, unsigned short, unsigned int, unsigned char) /root/manu/ep-engine/tests/ep_test_apis.cc:846 (ep_testsuite.so+0x000000118475) #12 store(engine_interface*, engine_interface_v1*, void const*, ENGINE_STORE_OPERATION, char const*, char const*, void**, unsigned long, unsigned short, unsigned int, unsigned char) /root/manu/ep-engine/tests/ep_test_apis.cc:797 (ep_testsuite.so+0x0000001147da) #13 test_access_scanner(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8572 (ep_testsuite.so+0x000000056add) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:142 (ep.so+0x00000026bcfe) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M144713 (0x7d280000efa0) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 mock_store(engine_interface*, void const*, void*, unsigned long*, ENGINE_STORE_OPERATION, unsigned short) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:266 (engine_testapp+0x0000000bfcd6) #4 storeCasVb11(engine_interface*, engine_interface_v1*, void const*, ENGINE_STORE_OPERATION, char const*, char const*, unsigned long, unsigned int, void**, unsigned long, unsigned short, unsigned int, unsigned char) /root/manu/ep-engine/tests/ep_test_apis.cc:846 (ep_testsuite.so+0x000000118475) #5 store(engine_interface*, engine_interface_v1*, void const*, ENGINE_STORE_OPERATION, char const*, char const*, void**, unsigned long, unsigned short, unsigned int, unsigned char) /root/manu/ep-engine/tests/ep_test_apis.cc:797 (ep_testsuite.so+0x0000001147da) #6 test_access_scanner(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8572 (ep_testsuite.so+0x000000056add) #7 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #8 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=19637, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19630) Atomic write of size 8 at 0x7d780000f778 by thread T9: #0 __tsan_atomic64_store :0 (engine_testapp+0x00000009d887) #1 std::__atomic_base::store(unsigned long, std::memory_order) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/atomic_base.h:474 (ep.so+0x000000083586) #2 AccessScanner::updateAlogTime(double) /root/manu/ep-engine/src/access_scanner.cc:275 (ep.so+0x0000000800ec) #3 AccessScanner::run() /root/manu/ep-engine/src/access_scanner.cc:266 (ep.so+0x000000080ce4) #4 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #5 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #6 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous read of size 8 at 0x7d780000f778 by main thread (mutexes: write M1952729524194045856): #0 gmtime_r :0 (engine_testapp+0x0000000643ae) #1 cb_gmtime_r /root/manu/platform/src/cb_time.c:92 (libplatform.so.0.1.0+0x000000008c00) #2 EventuallyPersistentEngine::doEngineStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:3518 (ep.so+0x0000001f4088) #3 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4538 (ep.so+0x0000001fd68a) #4 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #5 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #6 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #7 wait_for_stat_to_be(engine_interface*, engine_interface_v1*, char const*, int, char const*, long) /root/manu/ep-engine/tests/ep_test_apis.cc:1120 (ep_testsuite.so+0x00000011b431) #8 test_access_scanner(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8591 (ep_testsuite.so+0x00000005700d) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Location is heap block of size 2672 at 0x7d780000f000 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 create_instance /root/manu/ep-engine/src/ep_engine.cc:1806 (ep.so+0x0000001e099b) #2 create_engine_instance /root/manu/memcached/utilities/engine_loader.c:121 (libmcd_util.so.1.0.0+0x00000000de28) #3 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:924 (engine_testapp+0x0000000bc261) #4 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #5 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M1952729524194045856 is already destroyed. Thread T9 'mc:auxio_8' (tid=19641, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:492 (ep.so+0x0000002538a2) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race ??:0 __tsan_atomic64_store ================== ================== WARNING: ThreadSanitizer: data race (pid=19630) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19642, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19630) Write of size 8 at 0x7d140001b238 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001b238 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140001b210 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=19640, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 6 warnings ================== WARNING: ThreadSanitizer: data race (pid=19875) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19887, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19875) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=19883, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=19893) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19905, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19893) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=19902, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=19911) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19923, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19911) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=19918, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19911) Write of size 8 at 0x7d1400004ee8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400004ee8 by thread T8: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400004ec0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=19921, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=19918, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=19964) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19976, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19964) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19976, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19964) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=19974, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=19982) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_vb_file_stats_after_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7866 (ep_testsuite.so+0x000000058fc1) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=19994, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19982) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_vb_file_stats_after_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7866 (ep_testsuite.so+0x000000058fc1) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=19990, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19982) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_vb_file_stats_after_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7866 (ep_testsuite.so+0x000000058fc1) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=19992, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=19989, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19982) Write of size 8 at 0x7d140000c8c8 by main thread (mutexes: write M29468, write M29484): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000c8c8 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000c8a0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_vb_file_stats_after_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7866 (ep_testsuite.so+0x000000058fc1) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M29468 (0x7d500001c320) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_vb_file_stats_after_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7866 (ep_testsuite.so+0x000000058fc1) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M29484 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_vb_file_stats_after_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7866 (ep_testsuite.so+0x000000058fc1) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=20010, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_vb_file_stats_after_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7866 (ep_testsuite.so+0x000000058fc1) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19982) Write of size 8 at 0x7d140001b508 by main thread (mutexes: write M29468, write M29481): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001b508 by thread T16: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140001b4e0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_vb_file_stats_after_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7866 (ep_testsuite.so+0x000000058fc1) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M29468 (0x7d500001c320) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_vb_file_stats_after_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7866 (ep_testsuite.so+0x000000058fc1) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M29481 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_vb_file_stats_after_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7866 (ep_testsuite.so+0x000000058fc1) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T16 'mc:writer_5' (tid=20006, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_vb_file_stats_after_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7866 (ep_testsuite.so+0x000000058fc1) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=19982) Write of size 8 at 0x7d1400004e48 by main thread (mutexes: write M29468, write M29481): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400004e48 by thread T16: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400004e20 allocated by thread T16: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M29468 (0x7d500001c320) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_vb_file_stats_after_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7866 (ep_testsuite.so+0x000000058fc1) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M29481 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_vb_file_stats_after_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7866 (ep_testsuite.so+0x000000058fc1) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T16 'mc:writer_5' (tid=20006, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_vb_file_stats_after_warmup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7866 (ep_testsuite.so+0x000000058fc1) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 6 warnings ================== WARNING: ThreadSanitizer: data race (pid=20011) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20023, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20011) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20023, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20011) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=20019, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=20029) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20041, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20029) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20041, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20029) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20036, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20029) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=20037, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20038, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=20047) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20059, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20047) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20059, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20047) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=20055, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20047) Write of size 8 at 0x7d1400009cb8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400009cb8 by thread T8: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400009c90 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=20057, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=20055, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=20065) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20077, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20065) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20077, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20065) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=20075, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=20083) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20095, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20083) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=20091, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=20101) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20113, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20101) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20113, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20101) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=20109, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=20119) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20131, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20119) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20131, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20119) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=20127, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20119) Write of size 8 at 0x7d140000e3f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e3f8 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e3d0 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20126, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=20127, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20119) Write of size 8 at 0x7d140002e978 by main thread (mutexes: write M59094, write M59110): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140002e978 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140002e950 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M59094 (0x7d500001c520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M59110 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=20147, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20119) Write of size 8 at 0x7d140000c968 by main thread (mutexes: write M59094, write M59107): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000c968 by thread T17: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000c940 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M59094 (0x7d500001c520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M59107 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T17 'mc:writer_6' (tid=20144, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20119) Write of size 8 at 0x7d140000e8a8 by main thread (mutexes: write M59094, write M59107): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8a8 by thread T16: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e880 allocated by thread T16: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M59094 (0x7d500001c520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M59107 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T16 'mc:writer_5' (tid=20143, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 7 warnings ================== WARNING: ThreadSanitizer: data race (pid=20148) Write of size 8 at 0x7d540000fe88 by thread T8 (mutexes: write M11109): #0 EventuallyPersistentStore::flushVBucket(unsigned short) /root/manu/ep-engine/src/ep.cc:3261 (ep.so+0x00000019c870) #1 Flusher::flushVB() /root/manu/ep-engine/src/flusher.cc:297 (ep.so+0x0000002768d9) #2 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:176 (ep.so+0x000000275810) #3 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #4 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #5 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #6 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d540000fe88 by thread T7 (mutexes: write M11108): #0 EventuallyPersistentStore::flushVBucket(unsigned short) /root/manu/ep-engine/src/ep.cc:3261 (ep.so+0x00000019c870) #1 Flusher::flushVB() /root/manu/ep-engine/src/flusher.cc:297 (ep.so+0x0000002768d9) #2 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:176 (ep.so+0x000000275810) #3 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #4 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #5 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #6 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 616 at 0x7d540000fc80 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e884f) #2 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #3 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #4 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #5 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #6 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11109 (0x7dc400000050) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:304 (ep.so+0x00000017b7a0) #4 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #5 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #6 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #7 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11108 (0x7dc400000010) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:304 (ep.so+0x00000017b7a0) #4 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #5 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #6 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #7 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=20158, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20157, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/ep.cc:3261 EventuallyPersistentStore::flushVBucket(unsigned short) ================== ================== WARNING: ThreadSanitizer: data race (pid=20148) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_warmup_with_threshold(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8690 (ep_testsuite.so+0x000000063b45) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20160, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20148) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_warmup_with_threshold(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8690 (ep_testsuite.so+0x000000063b45) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20160, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20148) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_warmup_with_threshold(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8690 (ep_testsuite.so+0x000000063b45) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=20156, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20148) Write of size 8 at 0x7d140003ac78 by main thread (mutexes: write M89530, write M89546): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140003ac78 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140003ac50 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_warmup_with_threshold(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8690 (ep_testsuite.so+0x000000063b45) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M89530 (0x7d500001d320) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_with_threshold(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8690 (ep_testsuite.so+0x000000063b45) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M89546 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_warmup_with_threshold(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8690 (ep_testsuite.so+0x000000063b45) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=20176, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_with_threshold(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8690 (ep_testsuite.so+0x000000063b45) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20148) Write of size 8 at 0x7d140000fd48 by main thread (mutexes: write M89530, write M89543): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000fd48 by thread T15: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000fd20 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_warmup_with_threshold(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8690 (ep_testsuite.so+0x000000063b45) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M89530 (0x7d500001d320) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_with_threshold(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8690 (ep_testsuite.so+0x000000063b45) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M89543 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_warmup_with_threshold(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8690 (ep_testsuite.so+0x000000063b45) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T15 'mc:writer_4' (tid=20171, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_with_threshold(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8690 (ep_testsuite.so+0x000000063b45) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 6 warnings ================== WARNING: ThreadSanitizer: data race (pid=20177) Write of size 8 at 0x7d540000fe88 by thread T5 (mutexes: write M11109): #0 EventuallyPersistentStore::flushVBucket(unsigned short) /root/manu/ep-engine/src/ep.cc:3261 (ep.so+0x00000019c870) #1 Flusher::flushVB() /root/manu/ep-engine/src/flusher.cc:297 (ep.so+0x0000002768d9) #2 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:176 (ep.so+0x000000275810) #3 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #4 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #5 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #6 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d540000fe88 by thread T8 (mutexes: write M11108): #0 EventuallyPersistentStore::flushVBucket(unsigned short) /root/manu/ep-engine/src/ep.cc:3261 (ep.so+0x00000019c870) #1 Flusher::flushVB() /root/manu/ep-engine/src/flusher.cc:297 (ep.so+0x0000002768d9) #2 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:176 (ep.so+0x000000275810) #3 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #4 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #5 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #6 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 616 at 0x7d540000fc80 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e884f) #2 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #3 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #4 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #5 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #6 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11109 (0x7dc400000050) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:304 (ep.so+0x00000017b7a0) #4 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #5 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #6 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #7 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11108 (0x7dc400000010) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:304 (ep.so+0x00000017b7a0) #4 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #5 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #6 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #7 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20184, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=20187, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/ep.cc:3261 EventuallyPersistentStore::flushVBucket(unsigned short) ================== ================== WARNING: ThreadSanitizer: data race (pid=20177) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_warmup_with_threshold(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8690 (ep_testsuite.so+0x000000063b45) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20189, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20177) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_warmup_with_threshold(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8690 (ep_testsuite.so+0x000000063b45) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20189, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20177) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_warmup_with_threshold(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8690 (ep_testsuite.so+0x000000063b45) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20184, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20177) Write of size 8 at 0x7d140002ab48 by main thread (mutexes: write M89490, write M89506): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140002ab48 by thread T20: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140002ab20 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_warmup_with_threshold(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8690 (ep_testsuite.so+0x000000063b45) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M89490 (0x7d500001d320) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_with_threshold(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8690 (ep_testsuite.so+0x000000063b45) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M89506 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_warmup_with_threshold(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8690 (ep_testsuite.so+0x000000063b45) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=20205, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_with_threshold(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8690 (ep_testsuite.so+0x000000063b45) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20177) Write of size 8 at 0x7d140002b818 by main thread (mutexes: write M89490, write M89506): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140002b818 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140002b7f0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_warmup_with_threshold(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8690 (ep_testsuite.so+0x000000063b45) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M89490 (0x7d500001d320) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_with_threshold(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8690 (ep_testsuite.so+0x000000063b45) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M89506 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_warmup_with_threshold(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8690 (ep_testsuite.so+0x000000063b45) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=20205, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_with_threshold(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8690 (ep_testsuite.so+0x000000063b45) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20177) Write of size 8 at 0x7d14000326b8 by main thread (mutexes: write M89490, write M89503): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000326b8 by thread T15: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400032690 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_warmup_with_threshold(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8690 (ep_testsuite.so+0x000000063b45) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M89490 (0x7d500001d320) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_with_threshold(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8690 (ep_testsuite.so+0x000000063b45) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M89503 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_warmup_with_threshold(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8690 (ep_testsuite.so+0x000000063b45) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T15 'mc:writer_4' (tid=20200, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_with_threshold(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8690 (ep_testsuite.so+0x000000063b45) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 7 warnings ================== WARNING: ThreadSanitizer: data race (pid=20207) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 test_stats_seqno(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3473 (ep_testsuite.so+0x000000064a47) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20219, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20207) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 test_stats_seqno(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3473 (ep_testsuite.so+0x000000064a47) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20219, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20207) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 test_stats_seqno(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3473 (ep_testsuite.so+0x000000064a47) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=20217, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=20226) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20238, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20226) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20233, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=20244) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20256, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20244) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20253, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20244) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20253, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=20254, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20244) Write of size 8 at 0x7d140000df48 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000df48 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000df20 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20251, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=20254, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=20262) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_cbd_225(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8812 (ep_testsuite.so+0x000000066834) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20274, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20262) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_cbd_225(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8812 (ep_testsuite.so+0x000000066834) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20274, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20262) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_cbd_225(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8812 (ep_testsuite.so+0x000000066834) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=20270, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=20272, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20262) Write of size 8 at 0x7d1400007738 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_cbd_225(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8812 (ep_testsuite.so+0x000000066834) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400007738 by thread T7: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400007710 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20271, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=20272, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20262) Write of size 8 at 0x7d14000076e8 by main thread (mutexes: write M28869, write M28885): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d14000076e8 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d14000076c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_cbd_225(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8812 (ep_testsuite.so+0x000000066834) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28869 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_cbd_225(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8812 (ep_testsuite.so+0x000000066834) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28885 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_cbd_225(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8812 (ep_testsuite.so+0x000000066834) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=20291, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_cbd_225(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8812 (ep_testsuite.so+0x000000066834) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20262) Write of size 8 at 0x7d1400002788 by main thread (mutexes: write M28869, write M28882): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400002788 by thread T15: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400002760 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_cbd_225(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8812 (ep_testsuite.so+0x000000066834) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28869 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_cbd_225(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8812 (ep_testsuite.so+0x000000066834) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28882 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_cbd_225(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8812 (ep_testsuite.so+0x000000066834) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T15 'mc:writer_4' (tid=20286, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_cbd_225(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8812 (ep_testsuite.so+0x000000066834) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 6 warnings ================== WARNING: ThreadSanitizer: data race (pid=20292) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M12105, write M12121): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M12105 (0x7d5000014b20) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M12121 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20304, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20292) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M12105, write M12118): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M12105 (0x7d5000014b20) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M12118 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20299, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20292) Write of size 8 at 0x7d140001dee8 by main thread (mutexes: write M12105, write M12118): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001dee8 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001dec0 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M12105 (0x7d5000014b20) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M12118 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=20300, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=20310) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M12105, write M12121): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T13: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M12105 (0x7d5000014b20) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M12121 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T13 'mc:nonio_12' (tid=20325, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20310) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M12105, write M12118): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M12105 (0x7d5000014b20) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M12118 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20319, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20310) Write of size 8 at 0x7d1400018e48 by main thread (mutexes: write M12105, write M12118): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400018e48 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400018e20 allocated by thread T9: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M12105 (0x7d5000014b20) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M12118 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=20320, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T9 'mc:writer_8' (tid=20321, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=20332) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20344, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20332) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20344, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20332) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=20342, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20332) Write of size 8 at 0x7d140000c508 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000c508 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000c4e0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20341, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20339, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20332) Write of size 8 at 0x7d140001dfd8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001dfd8 by thread T8: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001dfb0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=20342, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20339, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=20350) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20362, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20350) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=20358, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=20368) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20380, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20368) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20380, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20368) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=20376, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=20386) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20398, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20386) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20398, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20386) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=20394, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=20404) Read of size 8 at 0x7d340000c8f0 by main thread (mutexes: write M14590): #0 SingleThreadedRCPtr::operator bool() const /root/manu/ep-engine/src/atomic.h:309 (ep.so+0x00000011f167) #1 ExecutorThread::getTaskableName() const /root/manu/ep-engine/src/executorthread.h:98 (ep.so+0x000000269e04) #2 addWorkerStats(char const*, ExecutorThread*, void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/executorpool.cc:696 (ep.so+0x0000002567e9) #3 ExecutorPool::doWorkerStat(EventuallyPersistentEngine*, void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/executorpool.cc:727 (ep.so+0x00000025641a) #4 EventuallyPersistentEngine::doDispatcherStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4328 (ep.so+0x0000001faefe) #5 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4564 (ep.so+0x0000001fdfea) #6 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #7 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #8 test_worker_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8902 (ep_testsuite.so+0x000000069073) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d340000c8f0 by thread T5: #0 SingleThreadedRCPtr::swap(GlobalTask*) /root/manu/ep-engine/src/atomic.h:322 (ep.so+0x0000001216d1) #1 SingleThreadedRCPtr::reset(GlobalTask*) /root/manu/ep-engine/src/atomic.h:279 (ep.so+0x00000011f926) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:73 (ep.so+0x00000026b221) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 208 at 0x7d340000c8b0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:484 (ep.so+0x0000002533f1) #2 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #3 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #4 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M14590 (0x7d280000efa0) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:233 (engine_testapp+0x0000000c0d87) #4 test_worker_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8902 (ep_testsuite.so+0x000000069073) #5 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #6 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20411, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/atomic.h:309 SingleThreadedRCPtr::operator bool() const ================== ================== WARNING: ThreadSanitizer: data race (pid=20404) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20416, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20404) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20416, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20404) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20413, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20404) Write of size 8 at 0x7d140001df88 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001df88 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140001df60 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20411, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20413, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20404) Write of size 8 at 0x7d140001dee8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001dee8 by thread T7: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001dec0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20413, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 6 warnings ================== WARNING: ThreadSanitizer: data race (pid=20423) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20435, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20423) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20435, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20423) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20430, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=20441) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_duplicate_items_disk(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9355 (ep_testsuite.so+0x00000006df4a) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20453, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20441) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_duplicate_items_disk(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9355 (ep_testsuite.so+0x00000006df4a) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20453, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20441) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_duplicate_items_disk(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9355 (ep_testsuite.so+0x00000006df4a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20448, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20441) Write of size 8 at 0x7d140001beb8 by main thread (mutexes: write M30317, write M30333): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140001beb8 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140001be90 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_duplicate_items_disk(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9355 (ep_testsuite.so+0x00000006df4a) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M30317 (0x7d500001c520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_duplicate_items_disk(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9355 (ep_testsuite.so+0x00000006df4a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M30333 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_duplicate_items_disk(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9355 (ep_testsuite.so+0x00000006df4a) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=20469, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_duplicate_items_disk(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9355 (ep_testsuite.so+0x00000006df4a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20441) Write of size 8 at 0x7d140001baf8 by main thread (mutexes: write M30317, write M30330): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001baf8 by thread T15: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140001bad0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_duplicate_items_disk(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9355 (ep_testsuite.so+0x00000006df4a) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M30317 (0x7d500001c520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_duplicate_items_disk(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9355 (ep_testsuite.so+0x00000006df4a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M30330 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_duplicate_items_disk(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9355 (ep_testsuite.so+0x00000006df4a) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T15 'mc:writer_4' (tid=20464, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_duplicate_items_disk(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9355 (ep_testsuite.so+0x00000006df4a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20441) Write of size 8 at 0x7d140000e0d8 by main thread (mutexes: write M30317, write M30330): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e0d8 by thread T17: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e0b0 allocated by thread T15: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M30317 (0x7d500001c520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_duplicate_items_disk(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9355 (ep_testsuite.so+0x00000006df4a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M30330 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_duplicate_items_disk(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9355 (ep_testsuite.so+0x00000006df4a) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T17 'mc:writer_6' (tid=20466, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_duplicate_items_disk(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9355 (ep_testsuite.so+0x00000006df4a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T15 'mc:writer_4' (tid=20464, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_duplicate_items_disk(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9355 (ep_testsuite.so+0x00000006df4a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 6 warnings ================== WARNING: ThreadSanitizer: data race (pid=20470) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_specialKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1985 (ep_testsuite.so+0x00000006f08c) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20482, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20470) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_specialKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1985 (ep_testsuite.so+0x00000006f08c) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=20478, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20479, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20470) Write of size 8 at 0x7d140001de98 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_specialKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1985 (ep_testsuite.so+0x00000006f08c) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001de98 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001de70 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20477, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20479, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20470) Write of size 8 at 0x7d1400002788 by main thread (mutexes: write M28881, write M28897): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400002788 by thread T20: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400002760 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_specialKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1985 (ep_testsuite.so+0x00000006f08c) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28881 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_specialKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1985 (ep_testsuite.so+0x00000006f08c) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28897 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_specialKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1985 (ep_testsuite.so+0x00000006f08c) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=20498, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_specialKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1985 (ep_testsuite.so+0x00000006f08c) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20470) Write of size 8 at 0x7d14000075a8 by main thread (mutexes: write M28881, write M28897): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d14000075a8 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400007580 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_specialKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1985 (ep_testsuite.so+0x00000006f08c) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28881 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_specialKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1985 (ep_testsuite.so+0x00000006f08c) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28897 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_specialKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1985 (ep_testsuite.so+0x00000006f08c) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=20498, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_specialKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1985 (ep_testsuite.so+0x00000006f08c) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20470) Write of size 8 at 0x7d140000e498 by main thread (mutexes: write M28881, write M28894): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e498 by thread T17: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e470 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_specialKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1985 (ep_testsuite.so+0x00000006f08c) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28881 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_specialKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1985 (ep_testsuite.so+0x00000006f08c) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28894 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_specialKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1985 (ep_testsuite.so+0x00000006f08c) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T17 'mc:writer_6' (tid=20495, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_specialKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1985 (ep_testsuite.so+0x00000006f08c) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20470) Write of size 8 at 0x7d140001da38 by main thread (mutexes: write M28881, write M28894): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001da38 by thread T15: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001da10 allocated by thread T18: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M28881 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_specialKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1985 (ep_testsuite.so+0x00000006f08c) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28894 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_specialKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1985 (ep_testsuite.so+0x00000006f08c) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T15 'mc:writer_4' (tid=20493, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_specialKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1985 (ep_testsuite.so+0x00000006f08c) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=20496, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_specialKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1985 (ep_testsuite.so+0x00000006f08c) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 7 warnings ================== WARNING: ThreadSanitizer: data race (pid=20499) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_binKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2034 (ep_testsuite.so+0x00000006fddb) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20511, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20499) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_binKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2034 (ep_testsuite.so+0x00000006fddb) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20506, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20499) Write of size 8 at 0x7d140000e448 by main thread (mutexes: write M28862, write M28878): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e448 by thread T20: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e420 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_binKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2034 (ep_testsuite.so+0x00000006fddb) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28862 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_binKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2034 (ep_testsuite.so+0x00000006fddb) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28878 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_binKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2034 (ep_testsuite.so+0x00000006fddb) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=20527, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_binKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2034 (ep_testsuite.so+0x00000006fddb) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20499) Write of size 8 at 0x7d140000e538 by main thread (mutexes: write M28862, write M28875): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e538 by thread T15: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e510 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_binKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2034 (ep_testsuite.so+0x00000006fddb) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28862 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_binKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2034 (ep_testsuite.so+0x00000006fddb) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28875 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_binKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2034 (ep_testsuite.so+0x00000006fddb) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T15 'mc:writer_4' (tid=20522, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_binKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2034 (ep_testsuite.so+0x00000006fddb) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20499) Write of size 8 at 0x7d140001b5f8 by main thread (mutexes: write M28862, write M28875): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001b5f8 by thread T17: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001b5d0 allocated by thread T15: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M28862 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_binKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2034 (ep_testsuite.so+0x00000006fddb) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28875 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_binKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2034 (ep_testsuite.so+0x00000006fddb) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T17 'mc:writer_6' (tid=20524, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_binKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2034 (ep_testsuite.so+0x00000006fddb) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T15 'mc:writer_4' (tid=20522, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_binKeys(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2034 (ep_testsuite.so+0x00000006fddb) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=20528) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20540, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20528) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20537, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=20546) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20558, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20546) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20558, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20546) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=20556, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=20564) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20576, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20564) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20576, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20564) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20573, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=20630) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20639, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20630) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20639, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=20638, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20630) Write of size 8 at 0x7d140000e3f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e3f8 by thread T8: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e3d0 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=20640, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=20638, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=20648) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M14680, write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wake() /root/manu/ep-engine/src/flusher.cc:156 (ep.so+0x0000002747c2) #5 EventuallyPersistentStore::wakeUpFlusher() /root/manu/ep-engine/src/ep.cc:566 (ep.so+0x0000001816c6) #6 EventuallyPersistentEngine::ConnHandlerCheckPoint(TapConsumer*, unsigned char, unsigned short, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:2957 (ep.so+0x0000001edea7) #7 EventuallyPersistentEngine::tapNotify(void const*, void*, unsigned short, unsigned char, unsigned short, unsigned short, unsigned int, void const*, unsigned long, unsigned int, unsigned int, unsigned long, unsigned char, void const*, unsigned long, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:2765 (ep.so+0x0000001eca0f) #8 EvpTapNotify(engine_interface*, void const*, void*, unsigned short, unsigned char, unsigned short, tap_event_t, unsigned int, void const*, unsigned long, unsigned int, unsigned int, unsigned long, unsigned char, void const*, unsigned long, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:1418 (ep.so+0x0000001e3ab2) #9 mock_tap_notify(engine_interface*, void const*, void*, unsigned short, unsigned char, unsigned short, tap_event_t, unsigned int, void const*, unsigned long, unsigned int, unsigned int, unsigned long, unsigned char, void const*, unsigned long, unsigned short) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:441 (engine_testapp+0x0000000c1d46) #10 test_tap_rcvr_checkpoint(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:6510 (ep_testsuite.so+0x000000070b1d) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M14680 (0x7d280000efa0) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 mock_tap_notify(engine_interface*, void const*, void*, unsigned short, unsigned char, unsigned short, tap_event_t, unsigned int, void const*, unsigned long, unsigned int, unsigned int, unsigned long, unsigned char, void const*, unsigned long, unsigned short) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:435 (engine_testapp+0x0000000c19c0) #4 test_tap_rcvr_checkpoint(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:6510 (ep_testsuite.so+0x000000070b1d) #5 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #6 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20657, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20648) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M14680, write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wake() /root/manu/ep-engine/src/flusher.cc:156 (ep.so+0x0000002747c2) #5 EventuallyPersistentStore::wakeUpFlusher() /root/manu/ep-engine/src/ep.cc:566 (ep.so+0x0000001816c6) #6 EventuallyPersistentEngine::ConnHandlerCheckPoint(TapConsumer*, unsigned char, unsigned short, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:2957 (ep.so+0x0000001edea7) #7 EventuallyPersistentEngine::tapNotify(void const*, void*, unsigned short, unsigned char, unsigned short, unsigned short, unsigned int, void const*, unsigned long, unsigned int, unsigned int, unsigned long, unsigned char, void const*, unsigned long, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:2765 (ep.so+0x0000001eca0f) #8 EvpTapNotify(engine_interface*, void const*, void*, unsigned short, unsigned char, unsigned short, tap_event_t, unsigned int, void const*, unsigned long, unsigned int, unsigned int, unsigned long, unsigned char, void const*, unsigned long, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:1418 (ep.so+0x0000001e3ab2) #9 mock_tap_notify(engine_interface*, void const*, void*, unsigned short, unsigned char, unsigned short, tap_event_t, unsigned int, void const*, unsigned long, unsigned int, unsigned int, unsigned long, unsigned char, void const*, unsigned long, unsigned short) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:441 (engine_testapp+0x0000000c1d46) #10 test_tap_rcvr_checkpoint(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:6510 (ep_testsuite.so+0x000000070b1d) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e8f8 by thread T6: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:182 (ep.so+0x000000275933) #2 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M14680 (0x7d280000efa0) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 mock_tap_notify(engine_interface*, void const*, void*, unsigned short, unsigned char, unsigned short, tap_event_t, unsigned int, void const*, unsigned long, unsigned int, unsigned int, unsigned long, unsigned char, void const*, unsigned long, unsigned short) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:435 (engine_testapp+0x0000000c19c0) #4 test_tap_rcvr_checkpoint(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:6510 (ep_testsuite.so+0x000000070b1d) #5 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #6 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=20656, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20648) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20660, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20648) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=20658, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=20667) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20679, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20667) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20679, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20667) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20676, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=20685) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20697, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20685) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20694, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=20703) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20715, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20703) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20715, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20703) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20710, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=20721) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20733, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20721) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20733, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20721) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20730, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=20739) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20751, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20739) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20751, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20739) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=20749, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20739) Write of size 8 at 0x7d140000e448 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e448 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e420 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20748, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20746, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20739) Write of size 8 at 0x7d1400004da8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400004da8 by thread T8: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400004d80 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=20749, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20746, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=20757) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20769, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20757) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20769, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20757) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20766, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20757) Write of size 8 at 0x7d140000c4b8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000c4b8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000c490 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=20765, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20764, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20757) Write of size 8 at 0x7d140000c508 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000c508 by thread T7: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000c4e0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20766, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20764, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=20775) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20787, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20775) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=20783, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20775) Write of size 8 at 0x7d1400002738 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400002738 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400002710 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=20783, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=20793) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20805, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20793) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20805, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20793) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=20801, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=20811) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20823, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20811) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20818, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20811) Write of size 8 at 0x7d140001df88 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001df88 by thread T7: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001df60 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20820, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20818, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=20829) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20841, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20829) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20841, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20829) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20836, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20829) Write of size 8 at 0x7d140000e308 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e308 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e2e0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=20837, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20838, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20829) Write of size 8 at 0x7d140000c5a8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000c5a8 by thread T8: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000c580 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=20839, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20838, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=20847) Cycle in lock order graph: M1069 (0x7d840001b810) => M15738 (0x7d280000efa0) => M1070 (0x7d840001b850) => M1069 Mutex M15738 acquired here while holding mutex M1069 in thread T10: #0 pthread_mutex_lock :0 (engine_testapp+0x000000076bc0) #1 cb_mutex_enter /root/manu/platform/src/cb_pthreads.c:115 (libplatform.so.0.1.0+0x000000004980) #2 mock_notify_io_complete /root/manu/memcached/programs/engine_testapp/mock_server.c:160 (engine_testapp+0x0000000cc060) #3 EventuallyPersistentEngine::notifyIOComplete(void const*, ENGINE_ERROR_CODE) /root/manu/ep-engine/src/ep_engine.h:565 (ep.so+0x0000000fcd91) #4 ConnMap::notifyPausedConnection(SingleThreadedRCPtr, bool) /root/manu/ep-engine/src/connmap.cc:239 (ep.so+0x0000000ed1cf) #5 bool TapConnMap::performOp(std::string const&, TapOperation&, void*) /root/manu/ep-engine/src/connmap.h:389 (ep.so+0x0000000925cf) #6 BackfillDiskLoad /root/manu/ep-engine/src/backfill.h:60 (ep.so+0x000000092c98) #7 BackFillVisitor::visitBucket(RCPtr&) /root/manu/ep-engine/src/backfill.cc:167 (ep.so+0x00000008f80c) #8 VBCBAdaptor::run() /root/manu/ep-engine/src/ep.cc:3740 (ep.so+0x0000001a1ac9) #9 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #10 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #11 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more informative warning message Mutex M1070 acquired here while holding mutex M15738 in main thread: #0 pthread_mutex_lock :0 (engine_testapp+0x000000076bc0) #1 cb_mutex_enter /root/manu/platform/src/cb_pthreads.c:115 (libplatform.so.0.1.0+0x000000004980) #2 Mutex::acquire() /root/manu/ep-engine/src/mutex.cc:31 (ep.so+0x0000002af85e) #3 LockHolder::lock() /root/manu/ep-engine/src/locks.h:70 (ep.so+0x000000095073) #4 LockHolder /root/manu/ep-engine/src/locks.h:47 (ep.so+0x000000094972) #5 TapConnMap::newProducer(void const*, std::string const&, unsigned int, unsigned long, int, std::vector > const&, std::map, std::allocator > > const&) /root/manu/ep-engine/src/connmap.cc:380 (ep.so+0x0000000ef099) #6 EventuallyPersistentEngine::createTapQueue(void const*, std::string&, unsigned int, void const*, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:2645 (ep.so+0x0000001eb9b0) #7 EvpGetTapIterator(engine_interface*, void const*, void const*, unsigned long, unsigned int, void const*, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:1459 (ep.so+0x0000001e3473) #8 mock_get_tap_iterator(engine_interface*, void const*, void const*, unsigned long, unsigned int, void const*, unsigned long) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:467 (engine_testapp+0x0000000c21cc) #9 test_tap_stream(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:6753 (ep_testsuite.so+0x000000072cfe) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M1069 acquired here while holding mutex M1070 in main thread: #0 pthread_mutex_lock :0 (engine_testapp+0x000000076bc0) #1 cb_mutex_enter /root/manu/platform/src/cb_pthreads.c:115 (libplatform.so.0.1.0+0x000000004980) #2 Mutex::acquire() /root/manu/ep-engine/src/mutex.cc:31 (ep.so+0x0000002af85e) #3 LockHolder::lock() /root/manu/ep-engine/src/locks.h:70 (ep.so+0x000000095073) #4 LockHolder /root/manu/ep-engine/src/locks.h:47 (ep.so+0x000000094972) #5 TapConnMap::shutdownAllConnections() /root/manu/ep-engine/src/connmap.cc:779 (ep.so+0x0000000f57bf) #6 EventuallyPersistentEngine::destroy(bool) /root/manu/ep-engine/src/ep_engine.cc:2172 (ep.so+0x0000001e906a) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:140 (ep.so+0x0000001e204c) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20859, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) ??:0 pthread_mutex_lock ================== ================== WARNING: ThreadSanitizer: data race (pid=20847) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20854, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20847) Write of size 8 at 0x7d140001de98 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001de98 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001de70 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20854, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=20866) Cycle in lock order graph: M1069 (0x7d840001b810) => M15466 (0x7d280000efa0) => M1070 (0x7d840001b850) => M1069 Mutex M15466 acquired here while holding mutex M1069 in thread T10: #0 pthread_mutex_lock :0 (engine_testapp+0x000000076bc0) #1 cb_mutex_enter /root/manu/platform/src/cb_pthreads.c:115 (libplatform.so.0.1.0+0x000000004980) #2 mock_notify_io_complete /root/manu/memcached/programs/engine_testapp/mock_server.c:160 (engine_testapp+0x0000000cc060) #3 EventuallyPersistentEngine::notifyIOComplete(void const*, ENGINE_ERROR_CODE) /root/manu/ep-engine/src/ep_engine.h:565 (ep.so+0x0000000fcd91) #4 ConnMap::notifyPausedConnection(SingleThreadedRCPtr, bool) /root/manu/ep-engine/src/connmap.cc:239 (ep.so+0x0000000ed1cf) #5 bool TapConnMap::performOp(std::string const&, TapOperation&, void*) /root/manu/ep-engine/src/connmap.h:389 (ep.so+0x0000000925cf) #6 BackfillDiskLoad /root/manu/ep-engine/src/backfill.h:60 (ep.so+0x000000092c98) #7 BackFillVisitor::visitBucket(RCPtr&) /root/manu/ep-engine/src/backfill.cc:167 (ep.so+0x00000008f80c) #8 VBCBAdaptor::run() /root/manu/ep-engine/src/ep.cc:3740 (ep.so+0x0000001a1ac9) #9 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #10 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #11 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more informative warning message Mutex M1070 acquired here while holding mutex M15466 in main thread: #0 pthread_mutex_lock :0 (engine_testapp+0x000000076bc0) #1 cb_mutex_enter /root/manu/platform/src/cb_pthreads.c:115 (libplatform.so.0.1.0+0x000000004980) #2 Mutex::acquire() /root/manu/ep-engine/src/mutex.cc:31 (ep.so+0x0000002af85e) #3 LockHolder::lock() /root/manu/ep-engine/src/locks.h:70 (ep.so+0x000000095073) #4 LockHolder /root/manu/ep-engine/src/locks.h:47 (ep.so+0x000000094972) #5 TapConnMap::newProducer(void const*, std::string const&, unsigned int, unsigned long, int, std::vector > const&, std::map, std::allocator > > const&) /root/manu/ep-engine/src/connmap.cc:380 (ep.so+0x0000000ef099) #6 EventuallyPersistentEngine::createTapQueue(void const*, std::string&, unsigned int, void const*, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:2645 (ep.so+0x0000001eb9b0) #7 EvpGetTapIterator(engine_interface*, void const*, void const*, unsigned long, unsigned int, void const*, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:1459 (ep.so+0x0000001e3473) #8 mock_get_tap_iterator(engine_interface*, void const*, void const*, unsigned long, unsigned int, void const*, unsigned long) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:467 (engine_testapp+0x0000000c21cc) #9 test_tap_sends_deleted(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:6840 (ep_testsuite.so+0x000000073fed) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M1069 acquired here while holding mutex M1070 in main thread: #0 pthread_mutex_lock :0 (engine_testapp+0x000000076bc0) #1 cb_mutex_enter /root/manu/platform/src/cb_pthreads.c:115 (libplatform.so.0.1.0+0x000000004980) #2 Mutex::acquire() /root/manu/ep-engine/src/mutex.cc:31 (ep.so+0x0000002af85e) #3 LockHolder::lock() /root/manu/ep-engine/src/locks.h:70 (ep.so+0x000000095073) #4 LockHolder /root/manu/ep-engine/src/locks.h:47 (ep.so+0x000000094972) #5 TapConnMap::shutdownAllConnections() /root/manu/ep-engine/src/connmap.cc:779 (ep.so+0x0000000f57bf) #6 EventuallyPersistentEngine::destroy(bool) /root/manu/ep-engine/src/ep_engine.cc:2172 (ep.so+0x0000001e906a) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:140 (ep.so+0x0000001e204c) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20878, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) ??:0 pthread_mutex_lock ================== ================== WARNING: ThreadSanitizer: data race (pid=20866) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20878, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20866) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20878, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20866) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20875, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20866) Write of size 8 at 0x7d140001df88 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001df88 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001df60 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=20874, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20875, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=20885) Cycle in lock order graph: M1069 (0x7d840001b810) => M15430 (0x7d280000efa0) => M1070 (0x7d840001b850) => M1069 Mutex M15430 acquired here while holding mutex M1069 in thread T10: #0 pthread_mutex_lock :0 (engine_testapp+0x000000076bc0) #1 cb_mutex_enter /root/manu/platform/src/cb_pthreads.c:115 (libplatform.so.0.1.0+0x000000004980) #2 mock_notify_io_complete /root/manu/memcached/programs/engine_testapp/mock_server.c:160 (engine_testapp+0x0000000cc060) #3 EventuallyPersistentEngine::notifyIOComplete(void const*, ENGINE_ERROR_CODE) /root/manu/ep-engine/src/ep_engine.h:565 (ep.so+0x0000000fcd91) #4 ConnMap::notifyPausedConnection(SingleThreadedRCPtr, bool) /root/manu/ep-engine/src/connmap.cc:239 (ep.so+0x0000000ed1cf) #5 bool TapConnMap::performOp(std::string const&, TapOperation&, void*) /root/manu/ep-engine/src/connmap.h:389 (ep.so+0x0000000925cf) #6 BackfillDiskLoad /root/manu/ep-engine/src/backfill.h:60 (ep.so+0x000000092c98) #7 BackFillVisitor::visitBucket(RCPtr&) /root/manu/ep-engine/src/backfill.cc:167 (ep.so+0x00000008f80c) #8 VBCBAdaptor::run() /root/manu/ep-engine/src/ep.cc:3740 (ep.so+0x0000001a1ac9) #9 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #10 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #11 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more informative warning message Mutex M1070 acquired here while holding mutex M15430 in main thread: #0 pthread_mutex_lock :0 (engine_testapp+0x000000076bc0) #1 cb_mutex_enter /root/manu/platform/src/cb_pthreads.c:115 (libplatform.so.0.1.0+0x000000004980) #2 Mutex::acquire() /root/manu/ep-engine/src/mutex.cc:31 (ep.so+0x0000002af85e) #3 LockHolder::lock() /root/manu/ep-engine/src/locks.h:70 (ep.so+0x000000095073) #4 LockHolder /root/manu/ep-engine/src/locks.h:47 (ep.so+0x000000094972) #5 TapConnMap::newProducer(void const*, std::string const&, unsigned int, unsigned long, int, std::vector > const&, std::map, std::allocator > > const&) /root/manu/ep-engine/src/connmap.cc:380 (ep.so+0x0000000ef099) #6 EventuallyPersistentEngine::createTapQueue(void const*, std::string&, unsigned int, void const*, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:2645 (ep.so+0x0000001eb9b0) #7 EvpGetTapIterator(engine_interface*, void const*, void const*, unsigned long, unsigned int, void const*, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:1459 (ep.so+0x0000001e3473) #8 mock_get_tap_iterator(engine_interface*, void const*, void const*, unsigned long, unsigned int, void const*, unsigned long) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:467 (engine_testapp+0x0000000c21cc) #9 test_sent_from_vb(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:6910 (ep_testsuite.so+0x000000074ba1) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M1069 acquired here while holding mutex M1070 in main thread: #0 pthread_mutex_lock :0 (engine_testapp+0x000000076bc0) #1 cb_mutex_enter /root/manu/platform/src/cb_pthreads.c:115 (libplatform.so.0.1.0+0x000000004980) #2 Mutex::acquire() /root/manu/ep-engine/src/mutex.cc:31 (ep.so+0x0000002af85e) #3 LockHolder::lock() /root/manu/ep-engine/src/locks.h:70 (ep.so+0x000000095073) #4 LockHolder /root/manu/ep-engine/src/locks.h:47 (ep.so+0x000000094972) #5 TapConnMap::shutdownAllConnections() /root/manu/ep-engine/src/connmap.cc:779 (ep.so+0x0000000f57bf) #6 EventuallyPersistentEngine::destroy(bool) /root/manu/ep-engine/src/ep_engine.cc:2172 (ep.so+0x0000001e906a) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:140 (ep.so+0x0000001e204c) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20897, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) ??:0 pthread_mutex_lock ================== ================== WARNING: ThreadSanitizer: data race (pid=20885) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20897, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20885) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=20895, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=20904) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20916, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20904) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20916, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20904) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=20914, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20904) Write of size 8 at 0x7d1400002738 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400002738 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400002710 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=20914, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=20922) Cycle in lock order graph: M1069 (0x7d840001b810) => M15581 (0x7d280000efa0) => M1070 (0x7d840001b850) => M1069 Mutex M15581 acquired here while holding mutex M1069 in thread T10: #0 pthread_mutex_lock :0 (engine_testapp+0x000000076bc0) #1 cb_mutex_enter /root/manu/platform/src/cb_pthreads.c:115 (libplatform.so.0.1.0+0x000000004980) #2 mock_notify_io_complete /root/manu/memcached/programs/engine_testapp/mock_server.c:160 (engine_testapp+0x0000000cc060) #3 EventuallyPersistentEngine::notifyIOComplete(void const*, ENGINE_ERROR_CODE) /root/manu/ep-engine/src/ep_engine.h:565 (ep.so+0x0000000fcd91) #4 ConnMap::notifyAllPausedConnections() /root/manu/ep-engine/src/connmap.cc:254 (ep.so+0x0000000ebd97) #5 ConnNotifier::notifyConnections() /root/manu/ep-engine/src/connmap.cc:128 (ep.so+0x0000000eb8bf) #6 ConnNotifierCallback::run() /root/manu/ep-engine/src/connmap.cc:84 (ep.so+0x00000011afdb) #7 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #8 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #9 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more informative warning message Mutex M1070 acquired here while holding mutex M15581 in main thread: #0 pthread_mutex_lock :0 (engine_testapp+0x000000076bc0) #1 cb_mutex_enter /root/manu/platform/src/cb_pthreads.c:115 (libplatform.so.0.1.0+0x000000004980) #2 Mutex::acquire() /root/manu/ep-engine/src/mutex.cc:31 (ep.so+0x0000002af85e) #3 LockHolder::lock() /root/manu/ep-engine/src/locks.h:70 (ep.so+0x000000095073) #4 LockHolder /root/manu/ep-engine/src/locks.h:47 (ep.so+0x000000094972) #5 TapConnMap::newProducer(void const*, std::string const&, unsigned int, unsigned long, int, std::vector > const&, std::map, std::allocator > > const&) /root/manu/ep-engine/src/connmap.cc:380 (ep.so+0x0000000ef099) #6 EventuallyPersistentEngine::createTapQueue(void const*, std::string&, unsigned int, void const*, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:2645 (ep.so+0x0000001eb9b0) #7 EvpGetTapIterator(engine_interface*, void const*, void const*, unsigned long, unsigned int, void const*, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:1459 (ep.so+0x0000001e3473) #8 mock_get_tap_iterator(engine_interface*, void const*, void const*, unsigned long, unsigned int, void const*, unsigned long) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:467 (engine_testapp+0x0000000c21cc) #9 test_tap_takeover(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7002 (ep_testsuite.so+0x000000076382) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M1069 acquired here while holding mutex M1070 in main thread: #0 pthread_mutex_lock :0 (engine_testapp+0x000000076bc0) #1 cb_mutex_enter /root/manu/platform/src/cb_pthreads.c:115 (libplatform.so.0.1.0+0x000000004980) #2 Mutex::acquire() /root/manu/ep-engine/src/mutex.cc:31 (ep.so+0x0000002af85e) #3 LockHolder::lock() /root/manu/ep-engine/src/locks.h:70 (ep.so+0x000000095073) #4 LockHolder /root/manu/ep-engine/src/locks.h:47 (ep.so+0x000000094972) #5 TapConnMap::shutdownAllConnections() /root/manu/ep-engine/src/connmap.cc:779 (ep.so+0x0000000f57bf) #6 EventuallyPersistentEngine::destroy(bool) /root/manu/ep-engine/src/ep_engine.cc:2172 (ep.so+0x0000001e906a) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:140 (ep.so+0x0000001e204c) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20934, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) ??:0 pthread_mutex_lock ================== ================== WARNING: ThreadSanitizer: data race (pid=20922) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20934, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20922) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20934, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20922) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=20932, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20922) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=20932, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20931, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20922) Write of size 8 at 0x7d140000e3f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e3f8 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e3d0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20929, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20931, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 6 warnings ================== WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=20942) Cycle in lock order graph: M1069 (0x7d840001b810) => M17965 (0x7d280000efa0) => M1070 (0x7d840001b850) => M1069 Mutex M17965 acquired here while holding mutex M1069 in thread T10: #0 pthread_mutex_lock :0 (engine_testapp+0x000000076bc0) #1 cb_mutex_enter /root/manu/platform/src/cb_pthreads.c:115 (libplatform.so.0.1.0+0x000000004980) #2 mock_notify_io_complete /root/manu/memcached/programs/engine_testapp/mock_server.c:160 (engine_testapp+0x0000000cc060) #3 EventuallyPersistentEngine::notifyIOComplete(void const*, ENGINE_ERROR_CODE) /root/manu/ep-engine/src/ep_engine.h:565 (ep.so+0x0000000fcd91) #4 ConnMap::notifyPausedConnection(SingleThreadedRCPtr, bool) /root/manu/ep-engine/src/connmap.cc:239 (ep.so+0x0000000ed1cf) #5 bool TapConnMap::performOp(std::string const&, TapOperation&, void*) /root/manu/ep-engine/src/connmap.h:389 (ep.so+0x0000000925cf) #6 BackfillDiskLoad /root/manu/ep-engine/src/backfill.h:60 (ep.so+0x000000092c98) #7 BackFillVisitor::visitBucket(RCPtr&) /root/manu/ep-engine/src/backfill.cc:167 (ep.so+0x00000008f80c) #8 VBCBAdaptor::run() /root/manu/ep-engine/src/ep.cc:3740 (ep.so+0x0000001a1ac9) #9 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #10 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #11 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more informative warning message Mutex M1070 acquired here while holding mutex M17965 in main thread: #0 pthread_mutex_lock :0 (engine_testapp+0x000000076bc0) #1 cb_mutex_enter /root/manu/platform/src/cb_pthreads.c:115 (libplatform.so.0.1.0+0x000000004980) #2 Mutex::acquire() /root/manu/ep-engine/src/mutex.cc:31 (ep.so+0x0000002af85e) #3 LockHolder::lock() /root/manu/ep-engine/src/locks.h:70 (ep.so+0x000000095073) #4 LockHolder /root/manu/ep-engine/src/locks.h:47 (ep.so+0x000000094972) #5 TapConnMap::newProducer(void const*, std::string const&, unsigned int, unsigned long, int, std::vector > const&, std::map, std::allocator > > const&) /root/manu/ep-engine/src/connmap.cc:380 (ep.so+0x0000000ef099) #6 EventuallyPersistentEngine::createTapQueue(void const*, std::string&, unsigned int, void const*, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:2645 (ep.so+0x0000001eb9b0) #7 EvpGetTapIterator(engine_interface*, void const*, void const*, unsigned long, unsigned int, void const*, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:1459 (ep.so+0x0000001e3473) #8 mock_get_tap_iterator(engine_interface*, void const*, void const*, unsigned long, unsigned int, void const*, unsigned long) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:467 (engine_testapp+0x0000000c21cc) #9 test_tap_filter_stream(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7138 (ep_testsuite.so+0x000000077e18) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M1069 acquired here while holding mutex M1070 in main thread: #0 pthread_mutex_lock :0 (engine_testapp+0x000000076bc0) #1 cb_mutex_enter /root/manu/platform/src/cb_pthreads.c:115 (libplatform.so.0.1.0+0x000000004980) #2 Mutex::acquire() /root/manu/ep-engine/src/mutex.cc:31 (ep.so+0x0000002af85e) #3 LockHolder::lock() /root/manu/ep-engine/src/locks.h:70 (ep.so+0x000000095073) #4 LockHolder /root/manu/ep-engine/src/locks.h:47 (ep.so+0x000000094972) #5 TapConnMap::shutdownAllConnections() /root/manu/ep-engine/src/connmap.cc:779 (ep.so+0x0000000f57bf) #6 EventuallyPersistentEngine::destroy(bool) /root/manu/ep-engine/src/ep_engine.cc:2172 (ep.so+0x0000001e906a) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:140 (ep.so+0x0000001e204c) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20954, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) ??:0 pthread_mutex_lock ================== ================== WARNING: ThreadSanitizer: data race (pid=20942) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20954, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20942) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20954, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20942) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=20950, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=20952, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20942) Write of size 8 at 0x7d1400016698 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400016698 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400016670 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20949, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=20952, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=20961) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20973, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20961) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20970, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20961) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=20970, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=20969, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20961) Write of size 8 at 0x7d1400004e98 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400004e98 by thread T8: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400004e70 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=20971, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=20969, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=20979) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20991, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20979) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=20991, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20979) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=20986, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=20997) Write of size 1 at 0x7d600000f078 by thread T10 (mutexes: write M15430): #0 Notifiable::setSuspended(bool) /root/manu/ep-engine/src/tapconnection.h:762 (ep.so+0x000000136ca0) #1 TapProducer::suspendedConnection_UNLOCKED(bool) /root/manu/ep-engine/src/tapconnection.cc:713 (ep.so+0x0000002c113b) #2 TapProducer::suspendedConnection(bool) /root/manu/ep-engine/src/tapconnection.cc:718 (ep.so+0x0000002c1225) #3 ResumeCallback::run() /root/manu/ep-engine/src/tapconnection.cc:680 (ep.so+0x0000002e57cb) #4 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #5 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #6 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous read of size 1 at 0x7d600000f078 by main thread (mutexes: write M15429): #0 Notifiable::isSuspended() /root/manu/ep-engine/src/tapconnection.h:766 (ep.so+0x0000000fef6e) #1 EventuallyPersistentEngine::doWalkTapQueue(void const*, void**, void**, unsigned short*, unsigned char*, unsigned short*, unsigned int*, unsigned short*, TapProducer*, bool&) /root/manu/ep-engine/src/ep_engine.cc:2402 (ep.so+0x000000222294) #2 EventuallyPersistentEngine::walkTapQueue(void const*, void**, void**, unsigned short*, unsigned char*, unsigned short*, unsigned int*, unsigned short*) /root/manu/ep-engine/src/ep_engine.cc:2521 (ep.so+0x0000001ea6a5) #3 EvpTapIterator(engine_interface*, void const*, void**, void**, unsigned short*, unsigned char*, unsigned short*, unsigned int*, unsigned short*) /root/manu/ep-engine/src/ep_engine.cc:1437 (ep.so+0x00000021355b) #4 mock_tap_iterator(engine_interface*, void const*, void**, void**, unsigned short*, unsigned char*, unsigned short*, unsigned int*, unsigned short*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:81 (engine_testapp+0x0000000c62d2) #5 test_tap_ack_stream(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7353 (ep_testsuite.so+0x00000007b67f) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Location is heap block of size 968 at 0x7d600000f000 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 TapConnMap::newProducer(void const*, std::string const&, unsigned int, unsigned long, int, std::vector > const&, std::map, std::allocator > > const&) /root/manu/ep-engine/src/connmap.cc:435 (ep.so+0x0000000efb5b) #2 EventuallyPersistentEngine::createTapQueue(void const*, std::string&, unsigned int, void const*, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:2645 (ep.so+0x0000001eb9b0) #3 EvpGetTapIterator(engine_interface*, void const*, void const*, unsigned long, unsigned int, void const*, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:1459 (ep.so+0x0000001e3473) #4 mock_get_tap_iterator(engine_interface*, void const*, void const*, unsigned long, unsigned int, void const*, unsigned long) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:467 (engine_testapp+0x0000000c21cc) #5 test_tap_ack_stream(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7309 (ep_testsuite.so+0x00000007b1a9) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M15430 (0x7d600000f088) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 Producer /root/manu/ep-engine/src/tapconnection.h:788 (ep.so+0x000000150c6b) #4 TapProducer /root/manu/ep-engine/src/tapconnection.cc:359 (ep.so+0x0000002bd154) #5 TapConnMap::newProducer(void const*, std::string const&, unsigned int, unsigned long, int, std::vector > const&, std::map, std::allocator > > const&) /root/manu/ep-engine/src/connmap.cc:435 (ep.so+0x0000000efbf6) #6 EventuallyPersistentEngine::createTapQueue(void const*, std::string&, unsigned int, void const*, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:2645 (ep.so+0x0000001eb9b0) #7 EvpGetTapIterator(engine_interface*, void const*, void const*, unsigned long, unsigned int, void const*, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:1459 (ep.so+0x0000001e3473) #8 mock_get_tap_iterator(engine_interface*, void const*, void const*, unsigned long, unsigned int, void const*, unsigned long) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:467 (engine_testapp+0x0000000c21cc) #9 test_tap_ack_stream(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7309 (ep_testsuite.so+0x00000007b1a9) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M15429 (0x7d280000efa0) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 test_tap_ack_stream(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7302 (ep_testsuite.so+0x00000007afda) #4 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #5 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21009, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/tapconnection.h:762 Notifiable::setSuspended(bool) ================== ================== WARNING: ThreadSanitizer: data race (pid=20997) Write of size 4 at 0x7d280000eff8 by main thread: #0 mock_cookie_reserve /root/manu/memcached/programs/engine_testapp/mock_server.c:99 (engine_testapp+0x0000000cc175) #1 EventuallyPersistentEngine::reserveCookie(void const*) /root/manu/ep-engine/src/ep_engine.cc:1998 (ep.so+0x0000001e7140) #2 EventuallyPersistentEngine::createTapQueue(void const*, std::string&, unsigned int, void const*, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:2556 (ep.so+0x0000001ead2a) #3 EvpGetTapIterator(engine_interface*, void const*, void const*, unsigned long, unsigned int, void const*, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:1459 (ep.so+0x0000001e3473) #4 mock_get_tap_iterator(engine_interface*, void const*, void const*, unsigned long, unsigned int, void const*, unsigned long) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:467 (engine_testapp+0x0000000c21cc) #5 test_tap_ack_stream(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7341 (ep_testsuite.so+0x00000007b4b3) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 4 at 0x7d280000eff8 by thread T10 (mutexes: write M1069): #0 mock_cookie_release /root/manu/memcached/programs/engine_testapp/mock_server.c:106 (engine_testapp+0x0000000cc225) #1 EventuallyPersistentEngine::releaseCookie(void const*) /root/manu/ep-engine/src/ep_engine.cc:2007 (ep.so+0x0000001e7290) #2 ConnHandler::releaseReference(bool) /root/manu/ep-engine/src/tapconnection.cc:306 (ep.so+0x0000002bce66) #3 TapConnMap::manageConnections() /root/manu/ep-engine/src/connmap.cc:534 (ep.so+0x0000000f0f42) #4 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:152 (ep.so+0x00000011a9f2) #5 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #6 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #7 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 160 at 0x7d280000ef60 allocated by main thread: #0 calloc :0 (engine_testapp+0x0000000521af) #1 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:396 (engine_testapp+0x0000000cd1d9) #2 test_tap_ack_stream(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7302 (ep_testsuite.so+0x00000007afda) #3 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #4 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M1069 (0x7d840001b810) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 ConnMap /root/manu/ep-engine/src/connmap.cc:183 (ep.so+0x0000000ebef6) #4 TapConnMap /root/manu/ep-engine/src/connmap.cc:353 (ep.so+0x0000000ee875) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2128 (ep.so+0x0000001e86aa) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21009, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/memcached/programs/engine_testapp/mock_server.c:99 mock_cookie_reserve ================== ================== WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=20997) Cycle in lock order graph: M1069 (0x7d840001b810) => M15429 (0x7d280000efa0) => M1070 (0x7d840001b850) => M1069 Mutex M15429 acquired here while holding mutex M1069 in thread T10: #0 pthread_mutex_lock :0 (engine_testapp+0x000000076bc0) #1 cb_mutex_enter /root/manu/platform/src/cb_pthreads.c:115 (libplatform.so.0.1.0+0x000000004980) #2 mock_notify_io_complete /root/manu/memcached/programs/engine_testapp/mock_server.c:160 (engine_testapp+0x0000000cc060) #3 EventuallyPersistentEngine::notifyIOComplete(void const*, ENGINE_ERROR_CODE) /root/manu/ep-engine/src/ep_engine.h:565 (ep.so+0x0000000fcd91) #4 ConnMap::notifyPausedConnection(SingleThreadedRCPtr, bool) /root/manu/ep-engine/src/connmap.cc:239 (ep.so+0x0000000ed1cf) #5 bool TapConnMap::performOp(std::string const&, TapOperation&, void*) /root/manu/ep-engine/src/connmap.h:389 (ep.so+0x0000000925cf) #6 BackfillDiskLoad /root/manu/ep-engine/src/backfill.h:60 (ep.so+0x000000092c98) #7 BackFillVisitor::visitBucket(RCPtr&) /root/manu/ep-engine/src/backfill.cc:167 (ep.so+0x00000008f80c) #8 VBCBAdaptor::run() /root/manu/ep-engine/src/ep.cc:3740 (ep.so+0x0000001a1ac9) #9 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #10 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #11 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more informative warning message Mutex M1070 acquired here while holding mutex M15429 in main thread: #0 pthread_mutex_lock :0 (engine_testapp+0x000000076bc0) #1 cb_mutex_enter /root/manu/platform/src/cb_pthreads.c:115 (libplatform.so.0.1.0+0x000000004980) #2 Mutex::acquire() /root/manu/ep-engine/src/mutex.cc:31 (ep.so+0x0000002af85e) #3 LockHolder::lock() /root/manu/ep-engine/src/locks.h:70 (ep.so+0x000000095073) #4 LockHolder /root/manu/ep-engine/src/locks.h:47 (ep.so+0x000000094972) #5 TapConnMap::newProducer(void const*, std::string const&, unsigned int, unsigned long, int, std::vector > const&, std::map, std::allocator > > const&) /root/manu/ep-engine/src/connmap.cc:380 (ep.so+0x0000000ef099) #6 EventuallyPersistentEngine::createTapQueue(void const*, std::string&, unsigned int, void const*, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:2645 (ep.so+0x0000001eb9b0) #7 EvpGetTapIterator(engine_interface*, void const*, void const*, unsigned long, unsigned int, void const*, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:1459 (ep.so+0x0000001e3473) #8 mock_get_tap_iterator(engine_interface*, void const*, void const*, unsigned long, unsigned int, void const*, unsigned long) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:467 (engine_testapp+0x0000000c21cc) #9 test_tap_ack_stream(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7309 (ep_testsuite.so+0x00000007b1a9) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M1069 acquired here while holding mutex M1070 in main thread: #0 pthread_mutex_lock :0 (engine_testapp+0x000000076bc0) #1 cb_mutex_enter /root/manu/platform/src/cb_pthreads.c:115 (libplatform.so.0.1.0+0x000000004980) #2 Mutex::acquire() /root/manu/ep-engine/src/mutex.cc:31 (ep.so+0x0000002af85e) #3 LockHolder::lock() /root/manu/ep-engine/src/locks.h:70 (ep.so+0x000000095073) #4 LockHolder /root/manu/ep-engine/src/locks.h:47 (ep.so+0x000000094972) #5 TapConnMap::shutdownAllConnections() /root/manu/ep-engine/src/connmap.cc:779 (ep.so+0x0000000f57bf) #6 EventuallyPersistentEngine::destroy(bool) /root/manu/ep-engine/src/ep_engine.cc:2172 (ep.so+0x0000001e906a) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:140 (ep.so+0x0000001e204c) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21009, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) ??:0 pthread_mutex_lock ================== ================== WARNING: ThreadSanitizer: data race (pid=20997) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21009, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20997) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21009, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=20997) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=21004, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 6 warnings ================== WARNING: ThreadSanitizer: data race (pid=21017) Write of size 1 at 0x7d600000f078 by thread T10 (mutexes: write M15434): #0 Notifiable::setSuspended(bool) /root/manu/ep-engine/src/tapconnection.h:762 (ep.so+0x000000136ca0) #1 TapProducer::suspendedConnection_UNLOCKED(bool) /root/manu/ep-engine/src/tapconnection.cc:713 (ep.so+0x0000002c113b) #2 TapProducer::suspendedConnection(bool) /root/manu/ep-engine/src/tapconnection.cc:718 (ep.so+0x0000002c1225) #3 ResumeCallback::run() /root/manu/ep-engine/src/tapconnection.cc:680 (ep.so+0x0000002e57cb) #4 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #5 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #6 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous read of size 1 at 0x7d600000f078 by main thread (mutexes: write M15433): #0 Notifiable::isSuspended() /root/manu/ep-engine/src/tapconnection.h:766 (ep.so+0x0000000fef6e) #1 EventuallyPersistentEngine::doWalkTapQueue(void const*, void**, void**, unsigned short*, unsigned char*, unsigned short*, unsigned int*, unsigned short*, TapProducer*, bool&) /root/manu/ep-engine/src/ep_engine.cc:2402 (ep.so+0x000000222294) #2 EventuallyPersistentEngine::walkTapQueue(void const*, void**, void**, unsigned short*, unsigned char*, unsigned short*, unsigned int*, unsigned short*) /root/manu/ep-engine/src/ep_engine.cc:2521 (ep.so+0x0000001ea6a5) #3 EvpTapIterator(engine_interface*, void const*, void**, void**, unsigned short*, unsigned char*, unsigned short*, unsigned int*, unsigned short*) /root/manu/ep-engine/src/ep_engine.cc:1437 (ep.so+0x00000021355b) #4 mock_tap_iterator(engine_interface*, void const*, void**, void**, unsigned short*, unsigned char*, unsigned short*, unsigned int*, unsigned short*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:81 (engine_testapp+0x0000000c62d2) #5 test_tap_implicit_ack_stream(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7554 (ep_testsuite.so+0x00000007dd32) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Location is heap block of size 968 at 0x7d600000f000 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 TapConnMap::newProducer(void const*, std::string const&, unsigned int, unsigned long, int, std::vector > const&, std::map, std::allocator > > const&) /root/manu/ep-engine/src/connmap.cc:435 (ep.so+0x0000000efb5b) #2 EventuallyPersistentEngine::createTapQueue(void const*, std::string&, unsigned int, void const*, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:2645 (ep.so+0x0000001eb9b0) #3 EvpGetTapIterator(engine_interface*, void const*, void const*, unsigned long, unsigned int, void const*, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:1459 (ep.so+0x0000001e3473) #4 mock_get_tap_iterator(engine_interface*, void const*, void const*, unsigned long, unsigned int, void const*, unsigned long) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:467 (engine_testapp+0x0000000c21cc) #5 test_tap_implicit_ack_stream(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7466 (ep_testsuite.so+0x00000007cec5) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M15434 (0x7d600000f088) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 Producer /root/manu/ep-engine/src/tapconnection.h:788 (ep.so+0x000000150c6b) #4 TapProducer /root/manu/ep-engine/src/tapconnection.cc:359 (ep.so+0x0000002bd154) #5 TapConnMap::newProducer(void const*, std::string const&, unsigned int, unsigned long, int, std::vector > const&, std::map, std::allocator > > const&) /root/manu/ep-engine/src/connmap.cc:435 (ep.so+0x0000000efbf6) #6 EventuallyPersistentEngine::createTapQueue(void const*, std::string&, unsigned int, void const*, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:2645 (ep.so+0x0000001eb9b0) #7 EvpGetTapIterator(engine_interface*, void const*, void const*, unsigned long, unsigned int, void const*, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:1459 (ep.so+0x0000001e3473) #8 mock_get_tap_iterator(engine_interface*, void const*, void const*, unsigned long, unsigned int, void const*, unsigned long) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:467 (engine_testapp+0x0000000c21cc) #9 test_tap_implicit_ack_stream(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7466 (ep_testsuite.so+0x00000007cec5) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M15433 (0x7d280000efa0) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 test_tap_implicit_ack_stream(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7459 (ep_testsuite.so+0x00000007ccf6) #4 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #5 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21029, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/tapconnection.h:762 Notifiable::setSuspended(bool) ================== ================== WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=21017) Cycle in lock order graph: M1069 (0x7d840001b810) => M15433 (0x7d280000efa0) => M1070 (0x7d840001b850) => M1069 Mutex M15433 acquired here while holding mutex M1069 in thread T10: #0 pthread_mutex_lock :0 (engine_testapp+0x000000076bc0) #1 cb_mutex_enter /root/manu/platform/src/cb_pthreads.c:115 (libplatform.so.0.1.0+0x000000004980) #2 mock_notify_io_complete /root/manu/memcached/programs/engine_testapp/mock_server.c:160 (engine_testapp+0x0000000cc060) #3 EventuallyPersistentEngine::notifyIOComplete(void const*, ENGINE_ERROR_CODE) /root/manu/ep-engine/src/ep_engine.h:565 (ep.so+0x0000000fcd91) #4 ConnMap::notifyPausedConnection(SingleThreadedRCPtr, bool) /root/manu/ep-engine/src/connmap.cc:239 (ep.so+0x0000000ed1cf) #5 bool TapConnMap::performOp(std::string const&, TapOperation&, void*) /root/manu/ep-engine/src/connmap.h:389 (ep.so+0x0000000925cf) #6 BackfillDiskLoad /root/manu/ep-engine/src/backfill.h:60 (ep.so+0x000000092c98) #7 BackFillVisitor::visitBucket(RCPtr&) /root/manu/ep-engine/src/backfill.cc:167 (ep.so+0x00000008f80c) #8 VBCBAdaptor::run() /root/manu/ep-engine/src/ep.cc:3740 (ep.so+0x0000001a1ac9) #9 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #10 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #11 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more informative warning message Mutex M1070 acquired here while holding mutex M15433 in main thread: #0 pthread_mutex_lock :0 (engine_testapp+0x000000076bc0) #1 cb_mutex_enter /root/manu/platform/src/cb_pthreads.c:115 (libplatform.so.0.1.0+0x000000004980) #2 Mutex::acquire() /root/manu/ep-engine/src/mutex.cc:31 (ep.so+0x0000002af85e) #3 LockHolder::lock() /root/manu/ep-engine/src/locks.h:70 (ep.so+0x000000095073) #4 LockHolder /root/manu/ep-engine/src/locks.h:47 (ep.so+0x000000094972) #5 TapConnMap::newProducer(void const*, std::string const&, unsigned int, unsigned long, int, std::vector > const&, std::map, std::allocator > > const&) /root/manu/ep-engine/src/connmap.cc:380 (ep.so+0x0000000ef099) #6 EventuallyPersistentEngine::createTapQueue(void const*, std::string&, unsigned int, void const*, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:2645 (ep.so+0x0000001eb9b0) #7 EvpGetTapIterator(engine_interface*, void const*, void const*, unsigned long, unsigned int, void const*, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:1459 (ep.so+0x0000001e3473) #8 mock_get_tap_iterator(engine_interface*, void const*, void const*, unsigned long, unsigned int, void const*, unsigned long) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:467 (engine_testapp+0x0000000c21cc) #9 test_tap_implicit_ack_stream(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:7466 (ep_testsuite.so+0x00000007cec5) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M1069 acquired here while holding mutex M1070 in main thread: #0 pthread_mutex_lock :0 (engine_testapp+0x000000076bc0) #1 cb_mutex_enter /root/manu/platform/src/cb_pthreads.c:115 (libplatform.so.0.1.0+0x000000004980) #2 Mutex::acquire() /root/manu/ep-engine/src/mutex.cc:31 (ep.so+0x0000002af85e) #3 LockHolder::lock() /root/manu/ep-engine/src/locks.h:70 (ep.so+0x000000095073) #4 LockHolder /root/manu/ep-engine/src/locks.h:47 (ep.so+0x000000094972) #5 TapConnMap::shutdownAllConnections() /root/manu/ep-engine/src/connmap.cc:779 (ep.so+0x0000000f57bf) #6 EventuallyPersistentEngine::destroy(bool) /root/manu/ep-engine/src/ep_engine.cc:2172 (ep.so+0x0000001e906a) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:140 (ep.so+0x0000001e204c) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21029, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) ??:0 pthread_mutex_lock ================== ================== WARNING: ThreadSanitizer: data race (pid=21017) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21029, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21017) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=21026, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21017) Write of size 8 at 0x7d140000e768 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e768 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e740 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=21024, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=21026, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=21036) Read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:156 (ep.so+0x00000026bef2) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d140000e9e8 by thread T8: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:182 (ep.so+0x000000275933) #2 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=21043, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21046, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/executorthread.cc:156 ExecutorThread::run() ================== ================== WARNING: ThreadSanitizer: data race (pid=21036) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21048, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21036) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21048, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21036) Write of size 8 at 0x7d1400004f38 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400004f38 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400004f10 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=21043, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21046, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=21054) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1903 (ep_testsuite.so+0x00000007e92a) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21066, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21054) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1903 (ep_testsuite.so+0x00000007e92a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=21062, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21054) Read of size 8 at 0x7d14000077d8 by thread T17: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:156 (ep.so+0x00000026bef2) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d14000077d8 by thread T16: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:182 (ep.so+0x000000275933) #2 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d14000077b0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1903 (ep_testsuite.so+0x00000007e92a) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T17 'mc:writer_6' (tid=21114, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1903 (ep_testsuite.so+0x00000007e92a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T16 'mc:writer_5' (tid=21113, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1903 (ep_testsuite.so+0x00000007e92a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/executorthread.cc:156 ExecutorThread::run() ================== ================== WARNING: ThreadSanitizer: data race (pid=21054) Write of size 8 at 0x7d140000c698 by main thread (mutexes: write M28833, write M28846): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000c698 by thread T18: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000c670 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1903 (ep_testsuite.so+0x00000007e92a) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28833 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1903 (ep_testsuite.so+0x00000007e92a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28846 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1903 (ep_testsuite.so+0x00000007e92a) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=21115, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1903 (ep_testsuite.so+0x00000007e92a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21054) Write of size 8 at 0x7d14000075f8 by main thread (mutexes: write M28833, write M28846): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000075f8 by thread T16: [failed to restore the stack] Location is heap block of size 80 at 0x7d14000075d0 allocated by thread T16: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M28833 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1903 (ep_testsuite.so+0x00000007e92a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28846 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1903 (ep_testsuite.so+0x00000007e92a) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T16 'mc:writer_5' (tid=21113, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1903 (ep_testsuite.so+0x00000007e92a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=21118) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M2053356828368105376, write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_restart_session_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1916 (ep_testsuite.so+0x00000007eb62) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M2053356828368105376 is already destroyed. Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21130, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21118) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M2053356828368105376, write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_restart_session_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1916 (ep_testsuite.so+0x00000007eb62) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M2053356828368105376 is already destroyed. Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21130, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21118) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M2053356828368105376, write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_restart_session_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1916 (ep_testsuite.so+0x00000007eb62) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M2053356828368105376 is already destroyed. Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=21126, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21118) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M2053356828368105376, write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_restart_session_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1916 (ep_testsuite.so+0x00000007eb62) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M2053356828368105376 is already destroyed. Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21128, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=21127, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21118) Write of size 8 at 0x7d1400009da8 by main thread (mutexes: write M2053356828368105376, write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_restart_session_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1916 (ep_testsuite.so+0x00000007eb62) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400009da8 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400009d80 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M2053356828368105376 is already destroyed. Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=21125, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=21127, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21118) Write of size 8 at 0x7d140001dfd8 by main thread (mutexes: write M65017592884031392, write M29848, write M29864): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140001dfd8 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140001dfb0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_restart_session_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1916 (ep_testsuite.so+0x00000007eb62) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M65017592884031392 is already destroyed. Mutex M29848 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_restart_session_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1916 (ep_testsuite.so+0x00000007eb62) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M29864 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_restart_session_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1916 (ep_testsuite.so+0x00000007eb62) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=21146, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_restart_session_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1916 (ep_testsuite.so+0x00000007eb62) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21118) Write of size 8 at 0x7d140001de48 by main thread (mutexes: write M65017592884031392, write M29848, write M29861): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001de48 by thread T17: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140001de20 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_restart_session_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1916 (ep_testsuite.so+0x00000007eb62) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M65017592884031392 is already destroyed. Mutex M29848 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_restart_session_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1916 (ep_testsuite.so+0x00000007eb62) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M29861 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_restart_session_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1916 (ep_testsuite.so+0x00000007eb62) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T17 'mc:writer_6' (tid=21143, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_restart_session_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1916 (ep_testsuite.so+0x00000007eb62) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21118) Write of size 8 at 0x7d140000e5d8 by main thread (mutexes: write M65017592884031392, write M29848, write M29861): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e5d8 by thread T17: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e5b0 allocated by thread T17: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M65017592884031392 is already destroyed. Mutex M29848 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_restart_session_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1916 (ep_testsuite.so+0x00000007eb62) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M29861 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_restart_session_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1916 (ep_testsuite.so+0x00000007eb62) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T17 'mc:writer_6' (tid=21143, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_restart_session_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1916 (ep_testsuite.so+0x00000007eb62) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 8 warnings ================== WARNING: ThreadSanitizer: data race (pid=21147) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_restart_bin_val(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2060 (ep_testsuite.so+0x00000007f1d6) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21159, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21147) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_restart_bin_val(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2060 (ep_testsuite.so+0x00000007f1d6) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21159, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21147) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_restart_bin_val(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2060 (ep_testsuite.so+0x00000007f1d6) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=21154, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21147) Write of size 8 at 0x7d14000026e8 by main thread (mutexes: write M28835, write M28848): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000026e8 by thread T16: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d14000026c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_restart_bin_val(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2060 (ep_testsuite.so+0x00000007f1d6) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28835 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_restart_bin_val(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2060 (ep_testsuite.so+0x00000007f1d6) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28848 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_restart_bin_val(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2060 (ep_testsuite.so+0x00000007f1d6) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T16 'mc:writer_5' (tid=21171, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_restart_bin_val(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2060 (ep_testsuite.so+0x00000007f1d6) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21147) Write of size 8 at 0x7d1400009cb8 by main thread (mutexes: write M28835, write M28848): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400009cb8 by thread T16: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400009c90 allocated by thread T16: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M28835 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_restart_bin_val(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2060 (ep_testsuite.so+0x00000007f1d6) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28848 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_restart_bin_val(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2060 (ep_testsuite.so+0x00000007f1d6) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T16 'mc:writer_5' (tid=21171, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_restart_bin_val(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:2060 (ep_testsuite.so+0x00000007f1d6) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=21176) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1634 (ep_testsuite.so+0x00000007f590) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21188, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21176) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1634 (ep_testsuite.so+0x00000007f590) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21188, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21176) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1634 (ep_testsuite.so+0x00000007f590) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=21184, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=21185, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21176) Write of size 8 at 0x7d1400009df8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1634 (ep_testsuite.so+0x00000007f590) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400009df8 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400009dd0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=21183, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=21185, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21176) Write of size 8 at 0x7d14000026e8 by main thread (mutexes: write M28841, write M28854): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1655 (ep_testsuite.so+0x00000007f979) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000026e8 by thread T18: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d14000026c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1634 (ep_testsuite.so+0x00000007f590) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28841 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1634 (ep_testsuite.so+0x00000007f590) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28854 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1634 (ep_testsuite.so+0x00000007f590) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=21202, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1634 (ep_testsuite.so+0x00000007f590) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21176) Write of size 8 at 0x7d1400004f88 by main thread (mutexes: write M28841, write M28854): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1655 (ep_testsuite.so+0x00000007f979) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400004f88 by thread T18: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400004f60 allocated by thread T18: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M28841 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1634 (ep_testsuite.so+0x00000007f590) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28854 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1634 (ep_testsuite.so+0x00000007f590) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=21202, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1634 (ep_testsuite.so+0x00000007f590) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21176) Write of size 8 at 0x7d1400009d08 by main thread (mutexes: write M46614, write M46630): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400009d08 by thread T26: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400009ce0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1655 (ep_testsuite.so+0x00000007f979) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46614 (0x7d5000019520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1655 (ep_testsuite.so+0x00000007f979) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46630 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1655 (ep_testsuite.so+0x00000007f979) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T26 'mc:nonio_9' (tid=21214, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1655 (ep_testsuite.so+0x00000007f979) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21176) Write of size 8 at 0x7d140000e858 by main thread (mutexes: write M46614, write M46630): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e858 by thread T26: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e830 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1655 (ep_testsuite.so+0x00000007f979) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46614 (0x7d5000019520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1655 (ep_testsuite.so+0x00000007f979) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46630 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1655 (ep_testsuite.so+0x00000007f979) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T26 'mc:nonio_9' (tid=21214, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1655 (ep_testsuite.so+0x00000007f979) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21176) Write of size 8 at 0x7d140000e2b8 by main thread (mutexes: write M46614, write M46627): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e2b8 by thread T21: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e290 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1655 (ep_testsuite.so+0x00000007f979) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46614 (0x7d5000019520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1655 (ep_testsuite.so+0x00000007f979) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46627 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1655 (ep_testsuite.so+0x00000007f979) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T21 'mc:writer_4' (tid=21209, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1655 (ep_testsuite.so+0x00000007f979) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21176) Write of size 8 at 0x7d140000c1e8 by main thread (mutexes: write M46614, write M46627): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000c1e8 by thread T22: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000c1c0 allocated by thread T21: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M46614 (0x7d5000019520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1655 (ep_testsuite.so+0x00000007f979) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46627 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1655 (ep_testsuite.so+0x00000007f979) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T22 'mc:writer_5' (tid=21210, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1655 (ep_testsuite.so+0x00000007f979) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T21 'mc:writer_4' (tid=21209, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_flush_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1655 (ep_testsuite.so+0x00000007f979) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 10 warnings ================== WARNING: ThreadSanitizer: data race (pid=21215) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_flush_multiv_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1683 (ep_testsuite.so+0x00000007ffe4) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21227, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21215) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_flush_multiv_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1683 (ep_testsuite.so+0x00000007ffe4) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21225, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21215) Write of size 8 at 0x7d140000e038 by main thread (mutexes: write M28983, write M28999): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_flush_multiv_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1699 (ep_testsuite.so+0x000000080236) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e038 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e010 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_flush_multiv_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1683 (ep_testsuite.so+0x00000007ffe4) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28983 (0x7d500001c520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_flush_multiv_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1683 (ep_testsuite.so+0x00000007ffe4) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28999 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_flush_multiv_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1683 (ep_testsuite.so+0x00000007ffe4) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=21243, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_flush_multiv_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1683 (ep_testsuite.so+0x00000007ffe4) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21215) Write of size 8 at 0x7d1400004e98 by main thread (mutexes: write M28983, write M28996): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_flush_multiv_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1699 (ep_testsuite.so+0x000000080236) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400004e98 by thread T17: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400004e70 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_flush_multiv_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1683 (ep_testsuite.so+0x00000007ffe4) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28983 (0x7d500001c520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_flush_multiv_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1683 (ep_testsuite.so+0x00000007ffe4) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28996 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_flush_multiv_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1683 (ep_testsuite.so+0x00000007ffe4) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T17 'mc:writer_6' (tid=21240, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_flush_multiv_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1683 (ep_testsuite.so+0x00000007ffe4) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21215) Write of size 8 at 0x7d140000e308 by main thread (mutexes: write M46872, write M46885): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e308 by thread T21: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e2e0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_flush_multiv_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1699 (ep_testsuite.so+0x000000080236) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46872 (0x7d5000019d20) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_flush_multiv_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1699 (ep_testsuite.so+0x000000080236) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46885 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_flush_multiv_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1699 (ep_testsuite.so+0x000000080236) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T21 'mc:writer_4' (tid=21248, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_flush_multiv_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1699 (ep_testsuite.so+0x000000080236) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21215) Write of size 8 at 0x7d1400004f38 by main thread (mutexes: write M46872, write M46885): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400004f38 by thread T22: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400004f10 allocated by thread T21: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M46872 (0x7d5000019d20) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_flush_multiv_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1699 (ep_testsuite.so+0x000000080236) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46885 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_flush_multiv_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1699 (ep_testsuite.so+0x000000080236) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T22 'mc:writer_5' (tid=21249, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_flush_multiv_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1699 (ep_testsuite.so+0x000000080236) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T21 'mc:writer_4' (tid=21248, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_flush_multiv_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1699 (ep_testsuite.so+0x000000080236) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 6 warnings ================== WARNING: ThreadSanitizer: data race (pid=21254) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_kill9_bucket(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9752 (ep_testsuite.so+0x000000080928) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=21262, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21254) Write of size 8 at 0x7d14000270d8 by main thread (mutexes: write M40896, write M40912): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d14000270d8 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d14000270b0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_kill9_bucket(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9752 (ep_testsuite.so+0x000000080928) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M40896 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_kill9_bucket(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9752 (ep_testsuite.so+0x000000080928) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M40912 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_kill9_bucket(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9752 (ep_testsuite.so+0x000000080928) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=21282, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_kill9_bucket(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9752 (ep_testsuite.so+0x000000080928) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21254) Write of size 8 at 0x7d1400028a28 by main thread (mutexes: write M40896, write M40909): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400028a28 by thread T18: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400028a00 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_kill9_bucket(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9752 (ep_testsuite.so+0x000000080928) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M40896 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_kill9_bucket(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9752 (ep_testsuite.so+0x000000080928) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M40909 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_kill9_bucket(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9752 (ep_testsuite.so+0x000000080928) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=21280, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_kill9_bucket(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9752 (ep_testsuite.so+0x000000080928) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21254) Write of size 8 at 0x7d140000f168 by main thread (mutexes: write M40896, write M40909): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000f168 by thread T17: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000f140 allocated by thread T18: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M40896 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_kill9_bucket(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9752 (ep_testsuite.so+0x000000080928) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M40909 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_kill9_bucket(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9752 (ep_testsuite.so+0x000000080928) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T17 'mc:writer_6' (tid=21279, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_kill9_bucket(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9752 (ep_testsuite.so+0x000000080928) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=21280, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_kill9_bucket(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9752 (ep_testsuite.so+0x000000080928) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21254) Write of size 8 at 0x7d140000f028 by main thread (mutexes: write M40896, write M40909): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000f028 by thread T18: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000f000 allocated by thread T18: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M40896 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_kill9_bucket(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9752 (ep_testsuite.so+0x000000080928) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M40909 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_kill9_bucket(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9752 (ep_testsuite.so+0x000000080928) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=21280, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_kill9_bucket(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9752 (ep_testsuite.so+0x000000080928) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=21283) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #12 test_flush_shutdown_force(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1607 (ep_testsuite.so+0x00000008109f) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=21292, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21283) Write of size 8 at 0x7d140004a358 by main thread (mutexes: write M46856, write M46872): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140004a358 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:53 (ep.so+0x0000002e8f7a) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140004a330 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #8 test_flush_shutdown_force(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1607 (ep_testsuite.so+0x00000008109f) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46856 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #13 test_flush_shutdown_force(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1607 (ep_testsuite.so+0x00000008109f) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46872 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #14 test_flush_shutdown_force(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1607 (ep_testsuite.so+0x00000008109f) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=21311, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #13 test_flush_shutdown_force(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1607 (ep_testsuite.so+0x00000008109f) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21283) Write of size 8 at 0x7d140004a218 by main thread (mutexes: write M46856, write M46872): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140004a218 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140004a1f0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #8 test_flush_shutdown_force(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1607 (ep_testsuite.so+0x00000008109f) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46856 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #13 test_flush_shutdown_force(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1607 (ep_testsuite.so+0x00000008109f) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46872 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #14 test_flush_shutdown_force(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1607 (ep_testsuite.so+0x00000008109f) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=21311, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #13 test_flush_shutdown_force(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1607 (ep_testsuite.so+0x00000008109f) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21283) Write of size 8 at 0x7d140005ec18 by main thread (mutexes: write M46856, write M46869): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140005ec18 by thread T17: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140005ebf0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #11 test_flush_shutdown_force(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1607 (ep_testsuite.so+0x00000008109f) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46856 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #13 test_flush_shutdown_force(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1607 (ep_testsuite.so+0x00000008109f) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46869 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #14 test_flush_shutdown_force(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1607 (ep_testsuite.so+0x00000008109f) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T17 'mc:writer_6' (tid=21308, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #13 test_flush_shutdown_force(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1607 (ep_testsuite.so+0x00000008109f) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21283) Write of size 8 at 0x7d1400067728 by main thread (mutexes: write M46856, write M46869): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400067728 by thread T15: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400067700 allocated by thread T17: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M46856 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #13 test_flush_shutdown_force(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1607 (ep_testsuite.so+0x00000008109f) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46869 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #14 test_flush_shutdown_force(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1607 (ep_testsuite.so+0x00000008109f) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T15 'mc:writer_4' (tid=21306, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #13 test_flush_shutdown_force(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1607 (ep_testsuite.so+0x00000008109f) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T17 'mc:writer_6' (tid=21308, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #13 test_flush_shutdown_force(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1607 (ep_testsuite.so+0x00000008109f) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=21312) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #11 test_flush_shutdown_noforce(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1617 (ep_testsuite.so+0x0000000811df) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21324, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21312) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #11 test_flush_shutdown_noforce(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1617 (ep_testsuite.so+0x0000000811df) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21324, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21312) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #13 test_flush_shutdown_noforce(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1617 (ep_testsuite.so+0x0000000811df) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) As if synchronized via sleep: #0 usleep :0 (engine_testapp+0x000000050d01) #1 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:47 (ep.so+0x000000274a67) #2 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #3 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #4 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #5 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #6 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #7 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #8 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #9 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #10 test_flush_shutdown_noforce(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1617 (ep_testsuite.so+0x0000000811df) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=21319, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21312) Write of size 8 at 0x7d140004a358 by main thread (mutexes: write M46856, write M46872): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140004a358 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140004a330 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #8 test_flush_shutdown_noforce(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1617 (ep_testsuite.so+0x0000000811df) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46856 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #13 test_flush_shutdown_noforce(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1617 (ep_testsuite.so+0x0000000811df) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46872 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #14 test_flush_shutdown_noforce(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1617 (ep_testsuite.so+0x0000000811df) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=21340, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #13 test_flush_shutdown_noforce(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1617 (ep_testsuite.so+0x0000000811df) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21312) Write of size 8 at 0x7d140005ec18 by main thread (mutexes: write M46856, write M46869): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140005ec18 by thread T18: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140005ebf0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #11 test_flush_shutdown_noforce(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1617 (ep_testsuite.so+0x0000000811df) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46856 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #13 test_flush_shutdown_noforce(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1617 (ep_testsuite.so+0x0000000811df) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46869 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #14 test_flush_shutdown_noforce(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1617 (ep_testsuite.so+0x0000000811df) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=21338, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 checkCurrItemsAfterShutdown(engine_interface*, engine_interface_v1*, int, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:1596 (ep_testsuite.so+0x0000000e4b95) #13 test_flush_shutdown_noforce(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:1617 (ep_testsuite.so+0x0000000811df) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=21341) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21353, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21341) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21353, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21341) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=21348, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=21359) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21371, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21359) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21369, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21359) Write of size 8 at 0x7d140000c698 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000c698 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000c670 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=21367, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21369, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=21377) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21389, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21377) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21389, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21377) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=21384, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=21395) Read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:156 (ep.so+0x00000026bef2) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d140000e9e8 by thread T6: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:182 (ep.so+0x000000275933) #2 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=21402, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=21403, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/executorthread.cc:156 ExecutorThread::run() ================== ================== WARNING: ThreadSanitizer: data race (pid=21395) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21407, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21395) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21407, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=21413) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21425, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21413) Write of size 8 at 0x7d140000e948 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e948 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e920 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=21421, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21413) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=21420, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21423, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21413) Write of size 8 at 0x7d140000c6e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000c6e8 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000c6c0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=21421, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21423, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=21431) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21444, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21431) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21444, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21431) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=21440, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=21450) Read of size 8 at 0x7d140000e8f8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:156 (ep.so+0x00000026bef2) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d140000e8f8 by thread T6: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:182 (ep.so+0x000000275933) #2 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=21457, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=21458, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/executorthread.cc:156 ExecutorThread::run() ================== ================== WARNING: ThreadSanitizer: data race (pid=21450) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21462, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21450) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21462, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21450) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=21459, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=21468) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21480, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21468) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21480, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21468) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=21476, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=21486) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21498, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21486) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21498, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21486) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21496, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=21505) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21517, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21505) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21517, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21505) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=21514, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21505) Write of size 8 at 0x7d140001dfd8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001dfd8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140001dfb0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=21512, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=21514, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=21523) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21535, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21523) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21535, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21523) Write of size 8 at 0x7d140000e948 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e948 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e920 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=21532, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21523) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=21531, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=21530, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21523) Write of size 8 at 0x7d140001dfd8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001dfd8 by thread T7: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001dfb0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=21532, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=21530, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=21541) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21553, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21541) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21551, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=21559) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21571, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21559) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21571, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21559) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21569, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=21577) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21589, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21577) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21589, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21577) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21587, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=21595) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21607, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21595) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21605, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=21613) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21625, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21613) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21625, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21613) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=21621, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21613) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=21621, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21623, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21613) Write of size 8 at 0x7d140000e178 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e178 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e150 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=21620, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21623, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=21631) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21643, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21631) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21643, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21631) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21641, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=21649) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21661, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21649) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21661, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21649) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=21658, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=21667) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21679, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21667) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21679, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21667) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=21674, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21667) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=21674, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21677, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21667) Write of size 8 at 0x7d1400004f88 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400004f88 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400004f60 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=21675, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21677, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=21685) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:53 (ep.so+0x0000002e8f7a) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21697, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21685) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21697, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21685) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21695, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=21703) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21715, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21703) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21715, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21703) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=21711, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21703) Write of size 8 at 0x7d140001df38 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001df38 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140001df10 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=21711, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=21721) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21733, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21721) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21731, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21721) Write of size 8 at 0x7d140001de98 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001de98 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140001de70 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21731, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=21739) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21751, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21739) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21751, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21739) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=21747, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21739) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=21747, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21749, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21739) Write of size 8 at 0x7d140000e3f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e3f8 by thread T7: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e3d0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=21748, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21749, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=21757) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21769, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21757) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21769, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21757) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=21765, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=21775) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21787, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21775) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=21784, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21775) Write of size 8 at 0x7d140000e3f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e3f8 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e3d0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=21783, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=21784, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=21793) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21805, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21793) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21805, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21793) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=21801, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=21811) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21823, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21811) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21823, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21811) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=21819, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=21829) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21841, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21829) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21839, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21829) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21839, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=21838, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21829) Write of size 8 at 0x7d140000e178 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e178 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e150 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=21837, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=21838, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=21895) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21907, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21895) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21907, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21895) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=21903, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=21913) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21925, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21913) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=21920, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=21931) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21943, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21931) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:53 (ep.so+0x0000002e8f7a) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21943, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21931) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21941, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21931) Write of size 8 at 0x7d140001df38 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001df38 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140001df10 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21941, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=21949) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:53 (ep.so+0x0000002e8f7a) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21961, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21949) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21961, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21949) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=21958, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=21967) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21979, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21967) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=21976, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=21985) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21997, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21985) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=21997, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=21985) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=21995, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=22003) Read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:156 (ep.so+0x00000026bef2) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d140000e9e8 by thread T6: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:182 (ep.so+0x000000275933) #2 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22010, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=22011, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/executorthread.cc:156 ExecutorThread::run() ================== ================== WARNING: ThreadSanitizer: data race (pid=22003) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22015, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22003) Write of size 8 at 0x7d140001dfd8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001dfd8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140001dfb0 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22010, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=22011, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22003) Write of size 8 at 0x7d140001df38 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001df38 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001df10 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=22011, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=22021) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22033, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22021) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22033, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22021) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22028, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=22039) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22051, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22039) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=22047, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22039) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22046, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=22048, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22039) Write of size 8 at 0x7d140000c4b8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000c4b8 by thread T8: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000c490 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22049, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=22048, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=22057) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:53 (ep.so+0x0000002e8f7a) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22069, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22057) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22069, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22057) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=22065, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22057) Write of size 8 at 0x7d140000e448 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e448 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e420 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=22065, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22064, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22057) Write of size 8 at 0x7d14000074b8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000074b8 by thread T8: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400007490 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22067, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22064, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=22075) Read of size 8 at 0x7d140000e998 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:156 (ep.so+0x00000026bef2) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d140000e998 by thread T5: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:182 (ep.so+0x000000275933) #2 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=22084, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22082, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/executorthread.cc:156 ExecutorThread::run() ================== ================== WARNING: ThreadSanitizer: data race (pid=22075) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:53 (ep.so+0x0000002e8f7a) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22087, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22075) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22085, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22075) Write of size 8 at 0x7d140000e3f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e3f8 by thread T7: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e3d0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=22084, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22085, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=22093) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22105, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22093) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=22102, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=22111) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22123, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22111) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22121, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=22129) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:53 (ep.so+0x0000002e8f7a) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22141, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22129) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22141, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22129) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22136, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=22147) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22159, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22147) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=22155, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=22165) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22177, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22165) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22172, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22165) Write of size 8 at 0x7d140000e1c8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e1c8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e1a0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22172, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=22174, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22165) Write of size 8 at 0x7d14000075a8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000075a8 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400007580 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=22173, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=22174, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=22183) Read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:156 (ep.so+0x00000026bef2) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d140000e9e8 by thread T8: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:182 (ep.so+0x000000275933) #2 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22190, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22193, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/executorthread.cc:156 ExecutorThread::run() ================== ================== WARNING: ThreadSanitizer: data race (pid=22183) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22195, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22183) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22195, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=22201) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22213, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22201) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22213, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22201) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=22209, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22201) Write of size 8 at 0x7d140001df88 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001df88 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140001df60 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22208, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=22209, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=22219) Write of size 8 at 0x7d540000fe88 by thread T7 (mutexes: write M11109): #0 EventuallyPersistentStore::flushVBucket(unsigned short) /root/manu/ep-engine/src/ep.cc:3261 (ep.so+0x00000019c870) #1 Flusher::flushVB() /root/manu/ep-engine/src/flusher.cc:297 (ep.so+0x0000002768d9) #2 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:176 (ep.so+0x000000275810) #3 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #4 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #5 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #6 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d540000fe88 by thread T6 (mutexes: write M11110): #0 EventuallyPersistentStore::flushVBucket(unsigned short) /root/manu/ep-engine/src/ep.cc:3261 (ep.so+0x00000019c870) #1 Flusher::flushVB() /root/manu/ep-engine/src/flusher.cc:297 (ep.so+0x0000002768d9) #2 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:176 (ep.so+0x000000275810) #3 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #4 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #5 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #6 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 616 at 0x7d540000fc80 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e884f) #2 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #3 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #4 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #5 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #6 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11109 (0x7dc400000050) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:304 (ep.so+0x00000017b7a0) #4 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #5 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #6 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #7 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11110 (0x7dc400000090) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:304 (ep.so+0x00000017b7a0) #4 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #5 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #6 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #7 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=22228, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=22227, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/ep.cc:3261 EventuallyPersistentStore::flushVBucket(unsigned short) ================== ================== WARNING: ThreadSanitizer: data race (pid=22219) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22231, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22219) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22231, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22219) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22226, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22219) Write of size 8 at 0x7d14000171d8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000171d8 by thread T7: [failed to restore the stack] Location is heap block of size 80 at 0x7d14000171b0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=22228, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=22242) Write of size 8 at 0x7d540000fe88 by thread T6 (mutexes: write M11110): #0 EventuallyPersistentStore::flushVBucket(unsigned short) /root/manu/ep-engine/src/ep.cc:3261 (ep.so+0x00000019c870) #1 Flusher::flushVB() /root/manu/ep-engine/src/flusher.cc:297 (ep.so+0x0000002768d9) #2 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:176 (ep.so+0x000000275810) #3 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #4 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #5 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #6 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d540000fe88 by thread T5 (mutexes: write M11109): #0 EventuallyPersistentStore::flushVBucket(unsigned short) /root/manu/ep-engine/src/ep.cc:3261 (ep.so+0x00000019c870) #1 Flusher::flushVB() /root/manu/ep-engine/src/flusher.cc:297 (ep.so+0x0000002768d9) #2 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:176 (ep.so+0x000000275810) #3 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #4 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #5 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #6 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 616 at 0x7d540000fc80 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e884f) #2 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #3 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #4 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #5 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #6 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11110 (0x7dc400000090) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:304 (ep.so+0x00000017b7a0) #4 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #5 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #6 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #7 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11109 (0x7dc400000050) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:304 (ep.so+0x00000017b7a0) #4 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #5 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #6 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #7 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=22250, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22249, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/ep.cc:3261 EventuallyPersistentStore::flushVBucket(unsigned short) ================== ================== WARNING: ThreadSanitizer: data race (pid=22242) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22254, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22242) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22254, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22242) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=22250, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=22265) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22277, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22265) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22277, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22265) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=22274, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=22283) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22295, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22283) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22290, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=22301) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M3007, write M3023): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3007 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3023 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22313, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22301) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M3007, write M3023): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3007 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3023 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22313, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22301) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M3007, write M3020): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3007 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3020 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=22309, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22301) Write of size 8 at 0x7d1400007508 by main thread (mutexes: write M3007, write M3020): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400007508 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d14000074e0 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M3007 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3020 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=22310, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=22309, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=22319) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M3007, write M3023): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3007 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3023 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22331, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22319) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M3007, write M3020): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3007 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3020 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=22328, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22319) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M3007, write M3020): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M3007 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M3020 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22326, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=22327, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=22337) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22349, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22337) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22349, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22337) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=22345, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=22346, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22337) Write of size 8 at 0x7d140000e3f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e3f8 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e3d0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22344, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=22346, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=22355) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3342 (ep_testsuite.so+0x0000000e2465) #11 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22367, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22355) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3342 (ep_testsuite.so+0x0000000e2465) #11 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22367, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22355) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3342 (ep_testsuite.so+0x0000000e2465) #13 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22365, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22355) Write of size 8 at 0x7d140000e128 by main thread (mutexes: write M28954, write M28970): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #11 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e128 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e100 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3342 (ep_testsuite.so+0x0000000e2465) #8 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28954 (0x7d500001c520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3342 (ep_testsuite.so+0x0000000e2465) #13 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28970 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3342 (ep_testsuite.so+0x0000000e2465) #14 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=22383, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3342 (ep_testsuite.so+0x0000000e2465) #13 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22355) Write of size 8 at 0x7d1400007698 by main thread (mutexes: write M28954, write M28967): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #13 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400007698 by thread T18: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400007670 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3342 (ep_testsuite.so+0x0000000e2465) #11 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28954 (0x7d500001c520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3342 (ep_testsuite.so+0x0000000e2465) #13 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28967 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3342 (ep_testsuite.so+0x0000000e2465) #14 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=22381, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3342 (ep_testsuite.so+0x0000000e2465) #13 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22355) Read of size 8 at 0x7d140000e0d8 by thread T24: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:156 (ep.so+0x00000026bef2) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d140000e0d8 by thread T23: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:182 (ep.so+0x000000275933) #2 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e0b0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #11 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T24 'mc:writer_7' (tid=22391, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #13 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T23 'mc:writer_6' (tid=22390, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #13 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/executorthread.cc:156 ExecutorThread::run() ================== ================== WARNING: ThreadSanitizer: data race (pid=22355) Write of size 8 at 0x7d140001de98 by main thread (mutexes: write M46794, write M46810): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140001de98 by thread T26: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140001de70 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #8 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46794 (0x7d5000019920) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #13 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46810 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #14 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T26 'mc:nonio_9' (tid=22393, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #13 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22355) Write of size 8 at 0x7d1400004f38 by main thread (mutexes: write M46794, write M46807): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400004f38 by thread T22: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400004f10 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #11 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46794 (0x7d5000019920) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #13 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46807 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #14 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T22 'mc:writer_5' (tid=22389, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #13 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22355) Write of size 8 at 0x7d140000df98 by main thread (mutexes: write M46794, write M46807): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000df98 by thread T21: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000df70 allocated by thread T22: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M46794 (0x7d5000019920) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #13 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46807 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #14 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T21 'mc:writer_4' (tid=22388, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #13 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T22 'mc:writer_5' (tid=22389, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #13 test_async_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3388 (ep_testsuite.so+0x000000088efa) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 9 warnings ================== WARNING: ThreadSanitizer: data race (pid=22394) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3342 (ep_testsuite.so+0x0000000e2465) #11 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22406, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22394) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3342 (ep_testsuite.so+0x0000000e2465) #11 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22406, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22394) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3342 (ep_testsuite.so+0x0000000e2465) #13 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22401, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22394) Write of size 8 at 0x7d140000e128 by main thread (mutexes: write M28955, write M28971): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #11 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e128 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e100 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3342 (ep_testsuite.so+0x0000000e2465) #8 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28955 (0x7d500001c520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3342 (ep_testsuite.so+0x0000000e2465) #13 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28971 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3342 (ep_testsuite.so+0x0000000e2465) #14 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=22422, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3342 (ep_testsuite.so+0x0000000e2465) #13 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22394) Write of size 8 at 0x7d1400007738 by main thread (mutexes: write M28955, write M28968): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #13 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400007738 by thread T15: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400007710 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3342 (ep_testsuite.so+0x0000000e2465) #11 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28955 (0x7d500001c520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3342 (ep_testsuite.so+0x0000000e2465) #13 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28968 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3342 (ep_testsuite.so+0x0000000e2465) #14 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T15 'mc:writer_4' (tid=22417, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3342 (ep_testsuite.so+0x0000000e2465) #13 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22394) Write of size 8 at 0x7d140000e858 by main thread (mutexes: write M28955, write M28968): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #12 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e858 by thread T17: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e830 allocated by thread T15: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M28955 (0x7d500001c520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3342 (ep_testsuite.so+0x0000000e2465) #13 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28968 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3342 (ep_testsuite.so+0x0000000e2465) #14 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T17 'mc:writer_6' (tid=22419, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3342 (ep_testsuite.so+0x0000000e2465) #13 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T15 'mc:writer_4' (tid=22417, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3342 (ep_testsuite.so+0x0000000e2465) #13 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22394) Write of size 8 at 0x7d140001de98 by main thread (mutexes: write M46783, write M46799): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140001de98 by thread T26: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140001de70 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #8 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46783 (0x7d5000019920) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #13 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46799 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #14 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T26 'mc:nonio_9' (tid=22432, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #13 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22394) Write of size 8 at 0x7d1400004f38 by main thread (mutexes: write M46783, write M46796): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400004f38 by thread T21: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400004f10 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #11 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46783 (0x7d5000019920) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #13 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46796 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #14 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T21 'mc:writer_4' (tid=22427, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #13 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22394) Write of size 8 at 0x7d140001db78 by main thread (mutexes: write M46783, write M46796): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001db78 by thread T21: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001db50 allocated by thread T21: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M46783 (0x7d5000019920) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #13 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46796 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #14 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T21 'mc:writer_4' (tid=22427, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 vbucket_destroy_restart(engine_interface*, engine_interface_v1*, char const*) /root/manu/ep-engine/tests/ep_testsuite.cc:3362 (ep_testsuite.so+0x0000000e281f) #13 test_sync_vbucket_destroy_restart(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3392 (ep_testsuite.so+0x000000088f87) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 9 warnings ================== WARNING: ThreadSanitizer: data race (pid=22433) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22445, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22433) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22445, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22433) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22440, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22433) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=22441, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22443, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22433) Write of size 8 at 0x7d1400009da8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400009da8 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400009d80 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22440, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22443, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=22451) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22463, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22451) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22463, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22451) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22458, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=22469) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 test_validate_checkpoint_params(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:10308 (ep_testsuite.so+0x0000000899fa) #11 test_validate_checkpoint_params(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:10305 (ep_testsuite.so+0x000000089969) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22481, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22469) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 test_validate_checkpoint_params(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:10308 (ep_testsuite.so+0x0000000899fa) #11 test_validate_checkpoint_params(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:10305 (ep_testsuite.so+0x000000089969) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22481, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22469) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 test_validate_checkpoint_params(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:10308 (ep_testsuite.so+0x0000000899fa) #13 test_validate_checkpoint_params(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:10305 (ep_testsuite.so+0x000000089969) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=22477, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=22488) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22500, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22488) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=22496, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=22541) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22553, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22541) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22553, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22541) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=22549, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=22559) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22571, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22559) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22571, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22559) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22566, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=22577) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22589, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22577) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22589, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22577) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22587, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=22595) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22607, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22595) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22605, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=22617) Write of size 8 at 0x7d680001f078 by thread T11 (mutexes: write M14676, write M14657): #0 VBucket::addHighPriorityVBEntry(unsigned long, void const*, bool) /root/manu/ep-engine/src/vbucket.cc:312 (ep.so+0x0000002fd3d2) #1 EventuallyPersistentEngine::handleCheckpointCmds(void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:5057 (ep.so+0x000000206311) #2 processUnknownCommand(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1233 (ep.so+0x0000002147f5) #3 EvpUnknownCommand(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1383 (ep.so+0x0000001e3215) #4 mock_unknown_command(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:380 (engine_testapp+0x0000000c14c2) #5 checkpointPersistence(engine_interface*, engine_interface_v1*, unsigned long, unsigned short) /root/manu/ep-engine/tests/ep_test_apis.cc:418 (ep_testsuite.so+0x0000001121ce) #6 wait_for_persistence_thread(void*) /root/manu/ep-engine/tests/ep_testsuite.cc:10264 (ep_testsuite.so+0x0000000e1a6d) #7 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous read of size 8 at 0x7d680001f078 by main thread (mutexes: write M2065460252366663584): #0 VBucket::getHighPriorityChkSize() /root/manu/ep-engine/src/vbucket.cc:401 (ep.so+0x0000002fe6be) #1 VBucketCountVisitor::visitBucket(RCPtr&) /root/manu/ep-engine/src/ep_engine.cc:3020 (ep.so+0x0000001ee3a2) #2 VBucketCountAggregator::visitBucket(RCPtr&) /root/manu/ep-engine/src/ep_engine.cc:3057 (ep.so+0x0000001eece1) #3 EventuallyPersistentStore::visit(VBucketVisitor&) /root/manu/ep-engine/src/ep.cc:3673 (ep.so+0x000000188064) #4 EventuallyPersistentEngine::doEngineStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:3083 (ep.so+0x0000001eef77) #5 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4538 (ep.so+0x0000001fd68a) #6 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #7 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #8 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #9 wait_for_stat_to_be(engine_interface*, engine_interface_v1*, char const*, int, char const*, long) /root/manu/ep-engine/tests/ep_test_apis.cc:1120 (ep_testsuite.so+0x00000011b431) #10 test_wait_for_persist_vb_del(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:10280 (ep_testsuite.so+0x00000008b00e) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Location is heap block of size 1328 at 0x7d680001ec00 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::setVBucketState(unsigned short, vbucket_state_t, bool, bool) /root/manu/ep-engine/src/ep.cc:1292 (ep.so+0x000000189b06) #2 EventuallyPersistentEngine::setVBucketState(unsigned short, vbucket_state_t, bool) /root/manu/ep-engine/src/ep_engine.h:715 (ep.so+0x00000024a7a2) #3 setVBucket(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:878 (ep.so+0x000000217458) #4 processUnknownCommand(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1172 (ep.so+0x00000021400a) #5 EvpUnknownCommand(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1383 (ep.so+0x0000001e3215) #6 mock_unknown_command(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:380 (engine_testapp+0x0000000c14c2) #7 set_vbucket_state(engine_interface*, engine_interface_v1*, unsigned short, vbucket_state_t) /root/manu/ep-engine/tests/ep_test_apis.cc:607 (ep_testsuite.so+0x0000001149a3) #8 test_wait_for_persist_vb_del(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:10275 (ep_testsuite.so+0x00000008af21) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M14676 (0x7d2800009fa0) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 mock_unknown_command(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:374 (engine_testapp+0x0000000c1342) #4 checkpointPersistence(engine_interface*, engine_interface_v1*, unsigned long, unsigned short) /root/manu/ep-engine/tests/ep_test_apis.cc:418 (ep_testsuite.so+0x0000001121ce) #5 wait_for_persistence_thread(void*) /root/manu/ep-engine/tests/ep_testsuite.cc:10264 (ep_testsuite.so+0x0000000e1a6d) #6 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M14657 (0x7d680001f030) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 VBucket /root/manu/ep-engine/src/vbucket.h:188 (ep.so+0x0000001aab38) #4 EventuallyPersistentStore::setVBucketState(unsigned short, vbucket_state_t, bool, bool) /root/manu/ep-engine/src/ep.cc:1292 (ep.so+0x000000189c83) #5 EventuallyPersistentEngine::setVBucketState(unsigned short, vbucket_state_t, bool) /root/manu/ep-engine/src/ep_engine.h:715 (ep.so+0x00000024a7a2) #6 setVBucket(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:878 (ep.so+0x000000217458) #7 processUnknownCommand(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1172 (ep.so+0x00000021400a) #8 EvpUnknownCommand(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1383 (ep.so+0x0000001e3215) #9 mock_unknown_command(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:380 (engine_testapp+0x0000000c14c2) #10 set_vbucket_state(engine_interface*, engine_interface_v1*, unsigned short, vbucket_state_t) /root/manu/ep-engine/tests/ep_test_apis.cc:607 (ep_testsuite.so+0x0000001149a3) #11 test_wait_for_persist_vb_del(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:10275 (ep_testsuite.so+0x00000008af21) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M2065460252366663584 is already destroyed. Thread T11 (tid=22630, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 cb_create_thread /root/manu/platform/src/cb_pthreads.c:35 (libplatform.so.0.1.0+0x000000004116) #3 test_wait_for_persist_vb_del(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:10277 (ep_testsuite.so+0x00000008af76) #4 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #5 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/vbucket.cc:312 VBucket::addHighPriorityVBEntry(unsigned long, void const*, bool) ================== ================== WARNING: ThreadSanitizer: data race (pid=22617) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22629, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22617) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=22626, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=22637) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22649, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22637) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22649, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22637) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22644, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22637) Write of size 8 at 0x7d140000e448 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e448 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e420 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=22646, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22647, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22637) Write of size 8 at 0x7d140001df88 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001df88 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001df60 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=22645, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22647, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=22655) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22667, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22655) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22667, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22655) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22665, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22655) Write of size 8 at 0x7d14000075a8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000075a8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400007580 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=22664, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22662, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22655) Write of size 8 at 0x7d140001dfd8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001dfd8 by thread T8: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001dfb0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22665, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22662, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=22673) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22685, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22673) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22685, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22673) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22680, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22673) Write of size 8 at 0x7d14000026e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000026e8 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d14000026c0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22680, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=22691) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22703, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22691) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22703, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22691) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22701, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=22709) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22721, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22709) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22719, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=22727) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22739, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22727) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=22736, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=22745) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22757, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22745) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22757, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22745) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22752, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=22763) Write of size 8 at 0x7d680001f678 by thread T5 (mutexes: write M11108, write M14473): #0 VBucket::notifyCheckpointPersisted(EventuallyPersistentEngine&, unsigned long, bool) /root/manu/ep-engine/src/vbucket.cc:356 (ep.so+0x0000002fddee) #1 EventuallyPersistentStore::flushVBucket(unsigned short) /root/manu/ep-engine/src/ep.cc:3288 (ep.so+0x00000019cdde) #2 Flusher::flushVB() /root/manu/ep-engine/src/flusher.cc:297 (ep.so+0x0000002768d9) #3 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:176 (ep.so+0x000000275810) #4 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #5 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #6 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #7 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous read of size 8 at 0x7d680001f678 by main thread: [failed to restore the stack] Location is heap block of size 1328 at 0x7d680001f200 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::setVBucketState(unsigned short, vbucket_state_t, bool, bool) /root/manu/ep-engine/src/ep.cc:1292 (ep.so+0x000000189b06) #2 EventuallyPersistentEngine::setVBucketState(unsigned short, vbucket_state_t, bool) /root/manu/ep-engine/src/ep_engine.h:715 (ep.so+0x00000024a7a2) #3 setVBucket(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:878 (ep.so+0x000000217458) #4 processUnknownCommand(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1172 (ep.so+0x00000021400a) #5 EvpUnknownCommand(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1383 (ep.so+0x0000001e3215) #6 mock_unknown_command(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:380 (engine_testapp+0x0000000c14c2) #7 set_vbucket_state(engine_interface*, engine_interface_v1*, unsigned short, vbucket_state_t) /root/manu/ep-engine/tests/ep_test_apis.cc:607 (ep_testsuite.so+0x0000001149a3) #8 test_setup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite_common.cc:146 (ep_testsuite.so+0x0000001094b7) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1085 (engine_testapp+0x0000000bd5fb) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11108 (0x7dc400000010) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:304 (ep.so+0x00000017b7a0) #4 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #5 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #6 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #7 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M14473 (0x7d680001f630) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 VBucket /root/manu/ep-engine/src/vbucket.h:188 (ep.so+0x0000001aab38) #4 EventuallyPersistentStore::setVBucketState(unsigned short, vbucket_state_t, bool, bool) /root/manu/ep-engine/src/ep.cc:1292 (ep.so+0x000000189c83) #5 EventuallyPersistentEngine::setVBucketState(unsigned short, vbucket_state_t, bool) /root/manu/ep-engine/src/ep_engine.h:715 (ep.so+0x00000024a7a2) #6 setVBucket(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:878 (ep.so+0x000000217458) #7 processUnknownCommand(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1172 (ep.so+0x00000021400a) #8 EvpUnknownCommand(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1383 (ep.so+0x0000001e3215) #9 mock_unknown_command(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:380 (engine_testapp+0x0000000c14c2) #10 set_vbucket_state(engine_interface*, engine_interface_v1*, unsigned short, vbucket_state_t) /root/manu/ep-engine/tests/ep_test_apis.cc:607 (ep_testsuite.so+0x0000001149a3) #11 test_setup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite_common.cc:146 (ep_testsuite.so+0x0000001094b7) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1085 (engine_testapp+0x0000000bd5fb) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22770, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/vbucket.cc:356 VBucket::notifyCheckpointPersisted(EventuallyPersistentEngine&, unsigned long, bool) ================== ================== WARNING: ThreadSanitizer: data race (pid=22763) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22775, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22763) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22773, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22763) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22773, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=22772, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22763) Write of size 8 at 0x7d140000e3f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e3f8 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e3d0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22770, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=22772, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=22782) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22796, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22782) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22796, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22782) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22792, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=22802) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22814, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22802) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22814, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22802) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=22810, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=22820) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22832, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22820) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22827, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22820) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22827, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22830, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22820) Write of size 8 at 0x7d1400004df8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400004df8 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400004dd0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=22828, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22830, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=22838) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22850, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22838) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22848, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=22856) Read of size 8 at 0x7d140000e948 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:156 (ep.so+0x00000026bef2) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d140000e948 by thread T8: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:53 (ep.so+0x0000002e8f7a) #1 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:182 (ep.so+0x000000275933) #2 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e920 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=22865, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22866, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/executorthread.cc:156 ExecutorThread::run() ================== ================== WARNING: ThreadSanitizer: data race (pid=22856) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22868, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22856) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22868, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22856) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=22865, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=22874) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22886, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22874) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22886, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22874) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=22883, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=22892) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22904, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22892) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22902, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=22910) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22922, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22910) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22922, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22910) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22920, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22910) Write of size 8 at 0x7d140000e448 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e448 by thread T7: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e420 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=22919, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22920, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=22928) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22940, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22928) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22940, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22928) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22935, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22928) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=22937, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22938, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22928) Write of size 8 at 0x7d140000e3f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e3f8 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e3d0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=22936, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22938, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=22946) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22958, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22946) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=22958, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22946) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=22953, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22946) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=22955, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=22954, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=22946) Write of size 8 at 0x7d14000074b8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000074b8 by thread T8: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400007490 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=22956, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=22954, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=23012) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23024, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23012) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23024, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23012) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=23019, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=23030) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23042, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23030) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23042, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23030) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=23039, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=23048) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23060, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23048) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23060, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23048) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=23055, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23048) Write of size 8 at 0x7d140001dee8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001dee8 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001dec0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=23055, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=23066) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23078, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23066) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23078, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23066) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=23076, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=23084) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23096, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23084) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=23092, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=23102) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23114, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23102) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23114, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23102) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=23109, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=23110, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23102) Write of size 8 at 0x7d1400007508 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400007508 by thread T7: [failed to restore the stack] Location is heap block of size 80 at 0x7d14000074e0 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=23111, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=23110, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=23120) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23132, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23120) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23132, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23120) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=23127, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=23138) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23150, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23138) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23150, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23138) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=23147, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=23156) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23168, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23156) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=23163, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23156) Write of size 8 at 0x7d140000e3f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e3f8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e3d0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=23166, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=23163, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=23174) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23186, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23174) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=23183, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23174) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=23182, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=23184, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23174) Write of size 8 at 0x7d140000c4b8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000c4b8 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000c490 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=23181, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=23184, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=23192) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23204, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23192) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=23201, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=23210) Atomic write of size 8 at 0x7d780000f788 by thread T10: #0 __tsan_atomic64_store :0 (engine_testapp+0x00000009d887) #1 std::__atomic_base::store(unsigned long, std::memory_order) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/atomic_base.h:474 (ep.so+0x000000083586) #2 ExpiredItemPager::updateExpPagerTime(double) /root/manu/ep-engine/src/item_pager.cc:355 (ep.so+0x00000027e7dc) #3 ExpiredItemPager::run() /root/manu/ep-engine/src/item_pager.cc:346 (ep.so+0x00000027eaea) #4 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #5 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #6 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous read of size 8 at 0x7d780000f788 by main thread (mutexes: write M2180161305376255904): #0 gmtime_r :0 (engine_testapp+0x0000000643ae) #1 cb_gmtime_r /root/manu/platform/src/cb_time.c:92 (libplatform.so.0.1.0+0x000000008c00) #2 EventuallyPersistentEngine::doEngineStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:3534 (ep.so+0x0000001f4227) #3 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4538 (ep.so+0x0000001fd68a) #4 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #5 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #6 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #7 wait_for_stat_to_be(engine_interface*, engine_interface_v1*, char const*, int, char const*, long) /root/manu/ep-engine/tests/ep_test_apis.cc:1120 (ep_testsuite.so+0x00000011b431) #8 test_temp_item_deletion(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:11512 (ep_testsuite.so+0x00000009fe6d) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Location is heap block of size 2672 at 0x7d780000f000 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 create_instance /root/manu/ep-engine/src/ep_engine.cc:1806 (ep.so+0x0000001e099b) #2 create_engine_instance /root/manu/memcached/utilities/engine_loader.c:121 (libmcd_util.so.1.0.0+0x00000000de28) #3 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:924 (engine_testapp+0x0000000bc261) #4 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #5 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M2180161305376255904 is already destroyed. Thread T10 'mc:nonio_9' (tid=23222, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race ??:0 __tsan_atomic64_store ================== ================== WARNING: ThreadSanitizer: data race (pid=23210) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23222, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23210) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23222, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23210) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=23219, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23210) Write of size 8 at 0x7d140001df88 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001df88 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140001df60 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=23219, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=23217, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23210) Write of size 8 at 0x7d140001dee8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001dee8 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001dec0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=23217, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 6 warnings ================== WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=23229) Cycle in lock order graph: M1069 (0x7d840001b810) => M15678 (0x7d280000efa0) => M1070 (0x7d840001b850) => M1069 Mutex M15678 acquired here while holding mutex M1069 in thread T10: #0 pthread_mutex_lock :0 (engine_testapp+0x000000076bc0) #1 cb_mutex_enter /root/manu/platform/src/cb_pthreads.c:115 (libplatform.so.0.1.0+0x000000004980) #2 mock_notify_io_complete /root/manu/memcached/programs/engine_testapp/mock_server.c:160 (engine_testapp+0x0000000cc060) #3 EventuallyPersistentEngine::notifyIOComplete(void const*, ENGINE_ERROR_CODE) /root/manu/ep-engine/src/ep_engine.h:565 (ep.so+0x0000000fcd91) #4 ConnMap::notifyPausedConnection(SingleThreadedRCPtr, bool) /root/manu/ep-engine/src/connmap.cc:239 (ep.so+0x0000000ed1cf) #5 bool TapConnMap::performOp(std::string const&, TapOperation&, void*) /root/manu/ep-engine/src/connmap.h:389 (ep.so+0x0000000925cf) #6 BackfillDiskLoad /root/manu/ep-engine/src/backfill.h:60 (ep.so+0x000000092c98) #7 BackFillVisitor::visitBucket(RCPtr&) /root/manu/ep-engine/src/backfill.cc:167 (ep.so+0x00000008f80c) #8 VBCBAdaptor::run() /root/manu/ep-engine/src/ep.cc:3740 (ep.so+0x0000001a1ac9) #9 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #10 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #11 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more informative warning message Mutex M1070 acquired here while holding mutex M15678 in main thread: #0 pthread_mutex_lock :0 (engine_testapp+0x000000076bc0) #1 cb_mutex_enter /root/manu/platform/src/cb_pthreads.c:115 (libplatform.so.0.1.0+0x000000004980) #2 Mutex::acquire() /root/manu/ep-engine/src/mutex.cc:31 (ep.so+0x0000002af85e) #3 LockHolder::lock() /root/manu/ep-engine/src/locks.h:70 (ep.so+0x000000095073) #4 LockHolder /root/manu/ep-engine/src/locks.h:47 (ep.so+0x000000094972) #5 TapConnMap::newProducer(void const*, std::string const&, unsigned int, unsigned long, int, std::vector > const&, std::map, std::allocator > > const&) /root/manu/ep-engine/src/connmap.cc:380 (ep.so+0x0000000ef099) #6 EventuallyPersistentEngine::createTapQueue(void const*, std::string&, unsigned int, void const*, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:2645 (ep.so+0x0000001eb9b0) #7 EvpGetTapIterator(engine_interface*, void const*, void const*, unsigned long, unsigned int, void const*, unsigned long) /root/manu/ep-engine/src/ep_engine.cc:1459 (ep.so+0x0000001e3473) #8 mock_get_tap_iterator(engine_interface*, void const*, void const*, unsigned long, unsigned int, void const*, unsigned long) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:467 (engine_testapp+0x0000000c21cc) #9 test_est_vb_move(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:12825 (ep_testsuite.so+0x0000000a0d6a) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M1069 acquired here while holding mutex M1070 in main thread: #0 pthread_mutex_lock :0 (engine_testapp+0x000000076bc0) #1 cb_mutex_enter /root/manu/platform/src/cb_pthreads.c:115 (libplatform.so.0.1.0+0x000000004980) #2 Mutex::acquire() /root/manu/ep-engine/src/mutex.cc:31 (ep.so+0x0000002af85e) #3 LockHolder::lock() /root/manu/ep-engine/src/locks.h:70 (ep.so+0x000000095073) #4 LockHolder /root/manu/ep-engine/src/locks.h:47 (ep.so+0x000000094972) #5 TapConnMap::shutdownAllConnections() /root/manu/ep-engine/src/connmap.cc:779 (ep.so+0x0000000f57bf) #6 EventuallyPersistentEngine::destroy(bool) /root/manu/ep-engine/src/ep_engine.cc:2172 (ep.so+0x0000001e906a) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:140 (ep.so+0x0000001e204c) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23241, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) ??:0 pthread_mutex_lock ================== ================== WARNING: ThreadSanitizer: data race (pid=23229) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23241, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23229) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23241, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23229) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=23237, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23229) Write of size 8 at 0x7d14000166e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000166e8 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d14000166c0 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=23237, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=23249) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23261, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23249) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23261, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23249) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=23258, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=23267) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23279, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23267) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23279, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23267) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=23276, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=23285) Write of size 8 at 0x7d540000fe88 by thread T6 (mutexes: write M11108): #0 EventuallyPersistentStore::flushVBucket(unsigned short) /root/manu/ep-engine/src/ep.cc:3261 (ep.so+0x00000019c870) #1 Flusher::flushVB() /root/manu/ep-engine/src/flusher.cc:297 (ep.so+0x0000002768d9) #2 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:176 (ep.so+0x000000275810) #3 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #4 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #5 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #6 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d540000fe88 by thread T8 (mutexes: write M11109): #0 EventuallyPersistentStore::flushVBucket(unsigned short) /root/manu/ep-engine/src/ep.cc:3261 (ep.so+0x00000019c870) #1 Flusher::flushVB() /root/manu/ep-engine/src/flusher.cc:297 (ep.so+0x0000002768d9) #2 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:176 (ep.so+0x000000275810) #3 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #4 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #5 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #6 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 616 at 0x7d540000fc80 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e884f) #2 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #3 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #4 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #5 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #6 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11108 (0x7dc400000010) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:304 (ep.so+0x00000017b7a0) #4 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #5 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #6 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #7 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11109 (0x7dc400000050) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:304 (ep.so+0x00000017b7a0) #4 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #5 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #6 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #7 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=23293, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=23295, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/ep.cc:3261 EventuallyPersistentStore::flushVBucket(unsigned short) ================== ================== WARNING: ThreadSanitizer: data race (pid=23285) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23297, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23285) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23297, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23285) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=23292, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23285) Write of size 8 at 0x7d1400001018 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400001018 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400000ff0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=23292, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=23304) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23316, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23304) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=23314, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=23322) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23334, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23322) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=23329, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=23340) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23352, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23340) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23352, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23340) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=23350, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=23358) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23370, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23358) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23370, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23358) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=23365, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=23376) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23388, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23376) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23388, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23376) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=23384, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23376) Write of size 8 at 0x7d140001df88 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001df88 by thread T7: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001df60 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=23385, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=23384, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=23394) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23406, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23394) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23406, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23394) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=23404, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23394) Write of size 8 at 0x7d140000c6e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000c6e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000c6c0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=23401, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=23404, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=23412) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23424, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23412) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23424, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23412) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=23419, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=23430) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23442, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23430) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23442, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23430) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=23437, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=23448) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23460, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23448) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=23455, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23448) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=23455, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=23457, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=23466) Write of size 8 at 0x7d140000e678 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e678 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e650 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23478, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23466) Write of size 8 at 0x7d140000ea38 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000ea38 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000ea10 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=23474, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=23484) Write of size 8 at 0x7d140000e678 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e678 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e650 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23496, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23484) Write of size 8 at 0x7d140000e5d8 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e5d8 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e5b0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23496, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23484) Write of size 8 at 0x7d140000ea38 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000ea38 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000ea10 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=23492, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=23502) Write of size 8 at 0x7d140000e678 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e678 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e650 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23514, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23502) Write of size 8 at 0x7d140000ea38 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000ea38 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000ea10 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=23510, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=23520) Read of size 1 at 0x7d5000016a58 by thread T10: #0 ConnHandler::doDisconnect() /root/manu/ep-engine/src/tapconnection.h:375 (ep.so+0x0000000feefe) #1 Processer::run() /root/manu/ep-engine/src/dcp/consumer.cc:51 (ep.so+0x0000001287bb) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 1 at 0x7d5000016a58 by main thread: [failed to restore the stack] Location is heap block of size 480 at 0x7d5000016a00 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 DcpConnMap::newConsumer(void const*, std::string const&) /root/manu/ep-engine/src/connmap.cc:971 (ep.so+0x0000000f7898) #2 EventuallyPersistentEngine::dcpOpen(void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:6173 (ep.so+0x00000021027d) #3 EvpDcpOpen(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:1491 (ep.so+0x0000001e49f5) #4 mock_dcp_open(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:488 (engine_testapp+0x0000000c2953) #5 test_dcp_consumer_flow_control_aggressive(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3826 (ep_testsuite.so+0x0000000ab40b) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23532, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/tapconnection.h:375 ConnHandler::doDisconnect() ================== ================== WARNING: ThreadSanitizer: data race (pid=23520) Read of size 4 at 0x7d50000165c4 by main thread (mutexes: write M26994, write M1033): #0 void ConnHandler::addStat(char const*, unsigned int const&, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/tapconnection.h:291 (ep.so+0x00000011e763) #1 FlowControl::addStats(void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/dcp/flow-control.cc:133 (ep.so+0x0000001403ea) #2 DcpConsumer::addStats(void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/dcp/consumer.cc:720 (ep.so+0x000000132e4d) #3 ConnStatBuilder::operator()(SingleThreadedRCPtr&) /root/manu/ep-engine/src/ep_engine.cc:3875 (ep.so+0x000000231fc4) #4 ConnStatBuilder std::for_each >, ConnStatBuilder>(std::_List_iterator >, std::_List_iterator >, ConnStatBuilder) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_algo.h:4417 (ep.so+0x000000231e65) #5 void ConnMap::each_UNLOCKED(ConnStatBuilder) /root/manu/ep-engine/src/connmap.h:148 (ep.so+0x000000231dcd) #6 void ConnMap::each(ConnStatBuilder) /root/manu/ep-engine/src/connmap.h:140 (ep.so+0x000000226d6e) #7 EventuallyPersistentEngine::doDcpStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4128 (ep.so+0x0000001f8c2e) #8 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4548 (ep.so+0x0000001fd99d) #9 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #10 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #11 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #12 wait_for_stat_to_be(engine_interface*, engine_interface_v1*, char const*, int, char const*, long) /root/manu/ep-engine/tests/ep_test_apis.cc:1120 (ep_testsuite.so+0x00000011b431) #13 test_dcp_consumer_flow_control_aggressive(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3876 (ep_testsuite.so+0x0000000ac424) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 4 at 0x7d50000165c4 by thread T10 (mutexes: write M1032): #0 FlowControl::setFlowControlBufSize(unsigned int) /root/manu/ep-engine/src/dcp/flow-control.cc:116 (ep.so+0x000000140162) #1 DcpConsumer::setFlowControlBufSize(unsigned int) /root/manu/ep-engine/src/dcp/consumer.cc:986 (ep.so+0x000000133303) #2 DcpFlowControlManagerAggressive::resizeBuffers(unsigned long) /root/manu/ep-engine/src/dcp/flow-control-manager.cc:211 (ep.so+0x0000001421e3) #3 DcpFlowControlManagerAggressive::handleDisconnect(DcpConsumer*) /root/manu/ep-engine/src/dcp/flow-control-manager.cc:198 (ep.so+0x00000014257d) #4 ~FlowControl /root/manu/ep-engine/src/dcp/flow-control.cc:42 (ep.so+0x00000013f324) #5 ~DcpConsumer /root/manu/ep-engine/src/dcp/consumer.cc:108 (ep.so+0x000000129e26) #6 ~DcpConsumer /root/manu/ep-engine/src/dcp/consumer.cc:103 (ep.so+0x00000012a2c7) #7 ~SingleThreadedRCPtr /root/manu/ep-engine/src/atomic.h:271 (ep.so+0x000000094eff) #8 DcpConnMap::manageConnections() /root/manu/ep-engine/src/connmap.cc:1194 (ep.so+0x0000000fa7c9) #9 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:152 (ep.so+0x00000011a9f2) #10 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #11 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #12 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) As if synchronized via sleep: #0 usleep :0 (engine_testapp+0x000000050d01) #1 decayingSleep(unsigned int*) /root/manu/ep-engine/tests/ep_test_apis.cc:56 (ep_testsuite.so+0x00000010cf32) #2 wait_for_stat_to_be(engine_interface*, engine_interface_v1*, char const*, int, char const*, long) /root/manu/ep-engine/tests/ep_test_apis.cc:1122 (ep_testsuite.so+0x00000011b473) #3 test_dcp_consumer_flow_control_aggressive(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3876 (ep_testsuite.so+0x0000000ac424) #4 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #5 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Location is heap block of size 480 at 0x7d5000016400 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 DcpConnMap::newConsumer(void const*, std::string const&) /root/manu/ep-engine/src/connmap.cc:971 (ep.so+0x0000000f7898) #2 EventuallyPersistentEngine::dcpOpen(void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:6173 (ep.so+0x00000021027d) #3 EvpDcpOpen(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:1491 (ep.so+0x0000001e49f5) #4 mock_dcp_open(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:488 (engine_testapp+0x0000000c2953) #5 test_dcp_consumer_flow_control_aggressive(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3839 (ep_testsuite.so+0x0000000ab76e) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M26994 (0x7d280000ebe0) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:233 (engine_testapp+0x0000000c0d87) #4 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #5 wait_for_stat_to_be(engine_interface*, engine_interface_v1*, char const*, int, char const*, long) /root/manu/ep-engine/tests/ep_test_apis.cc:1120 (ep_testsuite.so+0x00000011b431) #6 test_dcp_consumer_flow_control_aggressive(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:3876 (ep_testsuite.so+0x0000000ac424) #7 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #8 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M1033 (0x7d840001cc50) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 ConnMap /root/manu/ep-engine/src/connmap.cc:183 (ep.so+0x0000000ebf0a) #4 DcpConnMap /root/manu/ep-engine/src/connmap.cc:946 (ep.so+0x0000000f6fd5) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2112 (ep.so+0x0000001e81ef) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M1032 (0x7d840001cc10) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 ConnMap /root/manu/ep-engine/src/connmap.cc:183 (ep.so+0x0000000ebef6) #4 DcpConnMap /root/manu/ep-engine/src/connmap.cc:946 (ep.so+0x0000000f6fd5) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2112 (ep.so+0x0000001e81ef) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23532, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/tapconnection.h:291 void ConnHandler::addStat(char const*, unsigned int const&, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) ================== ================== WARNING: ThreadSanitizer: data race (pid=23520) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23532, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23520) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23532, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23520) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=23529, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=23539) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23551, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23539) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23551, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23539) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=23547, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=23557) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23569, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23557) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23569, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23557) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=23564, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=23575) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23587, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23575) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=23585, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=23597) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23611, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23597) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=23608, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=23617) Read of size 8 at 0x7d480000b1f8 by main thread (mutexes: write M16909, write M1033, write M16865): #0 void STATWRITER_NAMESPACE::add_casted_stat(char const*, unsigned long const&, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/statwriter.h:45 (ep.so+0x0000000c7309) #1 ActiveStream::addStats(void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/dcp/stream.cc:477 (ep.so+0x000000163ea9) #2 DcpProducer::addStats(void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/dcp/producer.cc:602 (ep.so+0x00000014df2e) #3 ConnStatBuilder::operator()(SingleThreadedRCPtr&) /root/manu/ep-engine/src/ep_engine.cc:3875 (ep.so+0x000000231fc4) #4 ConnStatBuilder std::for_each >, ConnStatBuilder>(std::_List_iterator >, std::_List_iterator >, ConnStatBuilder) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_algo.h:4417 (ep.so+0x000000231e65) #5 void ConnMap::each_UNLOCKED(ConnStatBuilder) /root/manu/ep-engine/src/connmap.h:148 (ep.so+0x000000231dcd) #6 void ConnMap::each(ConnStatBuilder) /root/manu/ep-engine/src/connmap.h:140 (ep.so+0x000000226d6e) #7 EventuallyPersistentEngine::doDcpStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4128 (ep.so+0x0000001f8c2e) #8 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4548 (ep.so+0x0000001fd99d) #9 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #10 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #11 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #12 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4090 (ep_testsuite.so+0x0000000dba6b) #13 test_dcp_producer_stream_req_partial(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4363 (ep_testsuite.so+0x0000000af486) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d480000b1f8 by thread T9 (mutexes: write M70365565901921800, write M16872): #0 ActiveStream::backfillReceived(Item*, backfill_source_t) /root/manu/ep-engine/src/dcp/stream.cc:287 (ep.so+0x000000161acd) #1 DiskCallback::callback(GetValue&) /root/manu/ep-engine/src/dcp/backfill.cc:94 (ep.so+0x000000125132) #2 CouchKVStore::recordDbDump(_db*, _docinfo*, void*) /root/manu/ep-engine/src/couch-kvstore/couch-kvstore.cc:1761 (ep.so+0x00000035e994) #3 recordDbDumpC(_db*, _docinfo*, void*) /root/manu/ep-engine/src/couch-kvstore/couch-kvstore.cc:66 (ep.so+0x00000035bfa0) #4 lookup_callback(couchfile_lookup_request*, _sized_buf const*, _sized_buf const*) /root/manu/couchstore/src/couch_db.cc:767 (libcouchstore.so+0x00000001a3a3) #5 btree_lookup_inner(couchfile_lookup_request*, unsigned long, int, int) /root/manu/couchstore/src/btree_read.cc:99 (libcouchstore.so+0x000000013590) #6 btree_lookup_inner(couchfile_lookup_request*, unsigned long, int, int) /root/manu/couchstore/src/btree_read.cc:69 (libcouchstore.so+0x000000012ea5) #7 btree_lookup /root/manu/couchstore/src/btree_read.cc:131 (libcouchstore.so+0x00000001264b) #8 couchstore_changes_since /root/manu/couchstore/src/couch_db.cc:812 (libcouchstore.so+0x000000019c4a) #9 CouchKVStore::scan(ScanContext*) /root/manu/ep-engine/src/couch-kvstore/couch-kvstore.cc:1268 (ep.so+0x00000035bc85) #10 DCPBackfill::scan() /root/manu/ep-engine/src/dcp/backfill.cc:193 (ep.so+0x0000001262fa) #11 DCPBackfill::run() /root/manu/ep-engine/src/dcp/backfill.cc:118 (ep.so+0x000000125823) #12 BackfillManager::backfill() /root/manu/ep-engine/src/dcp/backfill-manager.cc:240 (ep.so+0x00000011ba36) #13 BackfillManagerTask::run() /root/manu/ep-engine/src/dcp/backfill-manager.cc:43 (ep.so+0x00000011b25b) #14 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #15 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #16 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 368 at 0x7d480000b100 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 DcpProducer::streamRequest(unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/dcp/producer.cc:218 (ep.so+0x000000148c9e) #2 EvpDcpStreamReq(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1542 (ep.so+0x0000001e52d3) #3 mock_dcp_stream_req(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:549 (engine_testapp+0x0000000c33a1) #4 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4069 (ep_testsuite.so+0x0000000db4c7) #5 test_dcp_producer_stream_req_partial(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4363 (ep_testsuite.so+0x0000000af486) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M16909 (0x7d280000ef00) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:233 (engine_testapp+0x0000000c0d87) #4 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #5 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4090 (ep_testsuite.so+0x0000000dba6b) #6 test_dcp_producer_stream_req_partial(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4363 (ep_testsuite.so+0x0000000af486) #7 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #8 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M1033 (0x7d840001cc50) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 ConnMap /root/manu/ep-engine/src/connmap.cc:183 (ep.so+0x0000000ebf0a) #4 DcpConnMap /root/manu/ep-engine/src/connmap.cc:946 (ep.so+0x0000000f6fd5) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2112 (ep.so+0x0000001e81ef) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M16865 (0x7d4c0000a188) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 Producer /root/manu/ep-engine/src/tapconnection.h:788 (ep.so+0x000000150c6b) #4 DcpProducer /root/manu/ep-engine/src/dcp/producer.cc:50 (ep.so+0x000000146c40) #5 DcpConnMap::newProducer(void const*, std::string const&, bool) /root/manu/ep-engine/src/connmap.cc:1032 (ep.so+0x0000000f8686) #6 EventuallyPersistentEngine::dcpOpen(void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:6169 (ep.so+0x000000210157) #7 EvpDcpOpen(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:1491 (ep.so+0x0000001e49f5) #8 mock_dcp_open(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:488 (engine_testapp+0x0000000c2953) #9 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4056 (ep_testsuite.so+0x0000000db083) #10 test_dcp_producer_stream_req_partial(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4363 (ep_testsuite.so+0x0000000af486) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M70365565901921800 is already destroyed. Mutex M16872 (0x7d480000b168) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 Stream /root/manu/ep-engine/src/dcp/stream.cc:53 (ep.so+0x00000015d400) #4 ActiveStream /root/manu/ep-engine/src/dcp/stream.cc:142 (ep.so+0x00000015e7d3) #5 DcpProducer::streamRequest(unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/dcp/producer.cc:218 (ep.so+0x000000148dfa) #6 EvpDcpStreamReq(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1542 (ep.so+0x0000001e52d3) #7 mock_dcp_stream_req(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:549 (engine_testapp+0x0000000c33a1) #8 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4069 (ep_testsuite.so+0x0000000db4c7) #9 test_dcp_producer_stream_req_partial(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4363 (ep_testsuite.so+0x0000000af486) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T9 'mc:auxio_8' (tid=23628, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:492 (ep.so+0x0000002538a2) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/statwriter.h:45 void STATWRITER_NAMESPACE::add_casted_stat(char const*, unsigned long const&, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) ================== ================== WARNING: ThreadSanitizer: data race (pid=23617) Read of size 2 at 0x7d840001dcc2 by main thread (mutexes: write M16909): #0 DcpConnMap::getNumActiveSnoozingBackfills() const /root/manu/ep-engine/src/connmap.h:479 (ep.so+0x0000002276ee) #1 EventuallyPersistentEngine::doDcpStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4144 (ep.so+0x0000001f8ee7) #2 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4548 (ep.so+0x0000001fd99d) #3 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #4 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #5 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #6 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4090 (ep_testsuite.so+0x0000000dba6b) #7 test_dcp_producer_stream_req_partial(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4363 (ep_testsuite.so+0x0000000af486) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 2 at 0x7d840001dcc2 by thread T9: #0 DcpConnMap::decrNumActiveSnoozingBackfills() /root/manu/ep-engine/src/connmap.cc:1259 (ep.so+0x0000000fb6e4) #1 BackfillManager::backfill() /root/manu/ep-engine/src/dcp/backfill-manager.cc:251 (ep.so+0x00000011bb83) #2 BackfillManagerTask::run() /root/manu/ep-engine/src/dcp/backfill-manager.cc:43 (ep.so+0x00000011b25b) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 4304 at 0x7d840001cc00 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2112 (ep.so+0x0000001e81cc) #2 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #3 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #4 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #5 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #6 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M16909 (0x7d280000ef00) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:233 (engine_testapp+0x0000000c0d87) #4 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #5 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4090 (ep_testsuite.so+0x0000000dba6b) #6 test_dcp_producer_stream_req_partial(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4363 (ep_testsuite.so+0x0000000af486) #7 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #8 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T9 'mc:auxio_8' (tid=23628, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:492 (ep.so+0x0000002538a2) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/connmap.h:479 DcpConnMap::getNumActiveSnoozingBackfills() const ================== ================== WARNING: ThreadSanitizer: data race (pid=23617) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23629, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23617) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=23627, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=23637) Read of size 8 at 0x7d140000e8f8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:156 (ep.so+0x00000026bef2) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d140000e8f8 by thread T6: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:182 (ep.so+0x000000275933) #2 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=23644, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=23645, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/executorthread.cc:156 ExecutorThread::run() ================== ================== WARNING: ThreadSanitizer: data race (pid=23637) Read of size 8 at 0x7d480000b1f8 by main thread (mutexes: write M16954, write M1033, write M16909): #0 void STATWRITER_NAMESPACE::add_casted_stat(char const*, unsigned long const&, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/statwriter.h:45 (ep.so+0x0000000c7309) #1 ActiveStream::addStats(void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/dcp/stream.cc:477 (ep.so+0x000000163ea9) #2 DcpProducer::addStats(void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/dcp/producer.cc:602 (ep.so+0x00000014df2e) #3 ConnStatBuilder::operator()(SingleThreadedRCPtr&) /root/manu/ep-engine/src/ep_engine.cc:3875 (ep.so+0x000000231fc4) #4 ConnStatBuilder std::for_each >, ConnStatBuilder>(std::_List_iterator >, std::_List_iterator >, ConnStatBuilder) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_algo.h:4417 (ep.so+0x000000231e65) #5 void ConnMap::each_UNLOCKED(ConnStatBuilder) /root/manu/ep-engine/src/connmap.h:148 (ep.so+0x000000231dcd) #6 void ConnMap::each(ConnStatBuilder) /root/manu/ep-engine/src/connmap.h:140 (ep.so+0x000000226d6e) #7 EventuallyPersistentEngine::doDcpStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4128 (ep.so+0x0000001f8c2e) #8 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4548 (ep.so+0x0000001fd99d) #9 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #10 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #11 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #12 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4090 (ep_testsuite.so+0x0000000dba6b) #13 test_dcp_producer_stream_req_partial_with_time_sync(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4403 (ep_testsuite.so+0x0000000afe67) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d480000b1f8 by thread T9 (mutexes: write M76558015389556232, write M16916): #0 ActiveStream::backfillReceived(Item*, backfill_source_t) /root/manu/ep-engine/src/dcp/stream.cc:287 (ep.so+0x000000161acd) #1 CacheCallback::callback(CacheLookup&) /root/manu/ep-engine/src/dcp/backfill.cc:66 (ep.so+0x0000001247fc) #2 CouchKVStore::recordDbDump(_db*, _docinfo*, void*) /root/manu/ep-engine/src/couch-kvstore/couch-kvstore.cc:1658 (ep.so+0x00000035daa9) #3 recordDbDumpC(_db*, _docinfo*, void*) /root/manu/ep-engine/src/couch-kvstore/couch-kvstore.cc:66 (ep.so+0x00000035bfa0) #4 lookup_callback(couchfile_lookup_request*, _sized_buf const*, _sized_buf const*) /root/manu/couchstore/src/couch_db.cc:767 (libcouchstore.so+0x00000001a3a3) #5 btree_lookup_inner(couchfile_lookup_request*, unsigned long, int, int) /root/manu/couchstore/src/btree_read.cc:99 (libcouchstore.so+0x000000013590) #6 btree_lookup_inner(couchfile_lookup_request*, unsigned long, int, int) /root/manu/couchstore/src/btree_read.cc:69 (libcouchstore.so+0x000000012ea5) #7 btree_lookup /root/manu/couchstore/src/btree_read.cc:131 (libcouchstore.so+0x00000001264b) #8 couchstore_changes_since /root/manu/couchstore/src/couch_db.cc:812 (libcouchstore.so+0x000000019c4a) #9 CouchKVStore::scan(ScanContext*) /root/manu/ep-engine/src/couch-kvstore/couch-kvstore.cc:1268 (ep.so+0x00000035bc85) #10 DCPBackfill::scan() /root/manu/ep-engine/src/dcp/backfill.cc:193 (ep.so+0x0000001262fa) #11 DCPBackfill::run() /root/manu/ep-engine/src/dcp/backfill.cc:118 (ep.so+0x000000125823) #12 BackfillManager::backfill() /root/manu/ep-engine/src/dcp/backfill-manager.cc:240 (ep.so+0x00000011ba36) #13 BackfillManagerTask::run() /root/manu/ep-engine/src/dcp/backfill-manager.cc:43 (ep.so+0x00000011b25b) #14 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #15 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #16 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 368 at 0x7d480000b100 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 DcpProducer::streamRequest(unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/dcp/producer.cc:218 (ep.so+0x000000148c9e) #2 EvpDcpStreamReq(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1542 (ep.so+0x0000001e52d3) #3 mock_dcp_stream_req(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:549 (engine_testapp+0x0000000c33a1) #4 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4069 (ep_testsuite.so+0x0000000db4c7) #5 test_dcp_producer_stream_req_partial_with_time_sync(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4403 (ep_testsuite.so+0x0000000afe67) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M16954 (0x7d280000ef00) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:233 (engine_testapp+0x0000000c0d87) #4 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #5 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4090 (ep_testsuite.so+0x0000000dba6b) #6 test_dcp_producer_stream_req_partial_with_time_sync(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4403 (ep_testsuite.so+0x0000000afe67) #7 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #8 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M1033 (0x7d840001cc50) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 ConnMap /root/manu/ep-engine/src/connmap.cc:183 (ep.so+0x0000000ebf0a) #4 DcpConnMap /root/manu/ep-engine/src/connmap.cc:946 (ep.so+0x0000000f6fd5) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2112 (ep.so+0x0000001e81ef) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M16909 (0x7d4c0000a188) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 Producer /root/manu/ep-engine/src/tapconnection.h:788 (ep.so+0x000000150c6b) #4 DcpProducer /root/manu/ep-engine/src/dcp/producer.cc:50 (ep.so+0x000000146c40) #5 DcpConnMap::newProducer(void const*, std::string const&, bool) /root/manu/ep-engine/src/connmap.cc:1032 (ep.so+0x0000000f8686) #6 EventuallyPersistentEngine::dcpOpen(void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:6169 (ep.so+0x000000210157) #7 EvpDcpOpen(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:1491 (ep.so+0x0000001e49f5) #8 mock_dcp_open(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:488 (engine_testapp+0x0000000c2953) #9 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4056 (ep_testsuite.so+0x0000000db083) #10 test_dcp_producer_stream_req_partial_with_time_sync(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4403 (ep_testsuite.so+0x0000000afe67) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M76558015389556232 is already destroyed. Mutex M16916 (0x7d480000b168) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 Stream /root/manu/ep-engine/src/dcp/stream.cc:53 (ep.so+0x00000015d400) #4 ActiveStream /root/manu/ep-engine/src/dcp/stream.cc:142 (ep.so+0x00000015e7d3) #5 DcpProducer::streamRequest(unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/dcp/producer.cc:218 (ep.so+0x000000148dfa) #6 EvpDcpStreamReq(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1542 (ep.so+0x0000001e52d3) #7 mock_dcp_stream_req(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:549 (engine_testapp+0x0000000c33a1) #8 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4069 (ep_testsuite.so+0x0000000db4c7) #9 test_dcp_producer_stream_req_partial_with_time_sync(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4403 (ep_testsuite.so+0x0000000afe67) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T9 'mc:auxio_8' (tid=23648, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:492 (ep.so+0x0000002538a2) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/statwriter.h:45 void STATWRITER_NAMESPACE::add_casted_stat(char const*, unsigned long const&, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) ================== ================== WARNING: ThreadSanitizer: data race (pid=23637) Read of size 2 at 0x7d840001dcc2 by main thread (mutexes: write M16954): #0 DcpConnMap::getNumActiveSnoozingBackfills() const /root/manu/ep-engine/src/connmap.h:479 (ep.so+0x0000002276ee) #1 EventuallyPersistentEngine::doDcpStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4144 (ep.so+0x0000001f8ee7) #2 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4548 (ep.so+0x0000001fd99d) #3 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #4 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #5 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #6 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4090 (ep_testsuite.so+0x0000000dba6b) #7 test_dcp_producer_stream_req_partial_with_time_sync(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4403 (ep_testsuite.so+0x0000000afe67) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 2 at 0x7d840001dcc2 by thread T9: #0 DcpConnMap::decrNumActiveSnoozingBackfills() /root/manu/ep-engine/src/connmap.cc:1259 (ep.so+0x0000000fb6e4) #1 BackfillManager::backfill() /root/manu/ep-engine/src/dcp/backfill-manager.cc:251 (ep.so+0x00000011bb83) #2 BackfillManagerTask::run() /root/manu/ep-engine/src/dcp/backfill-manager.cc:43 (ep.so+0x00000011b25b) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 4304 at 0x7d840001cc00 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2112 (ep.so+0x0000001e81cc) #2 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #3 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #4 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #5 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #6 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M16954 (0x7d280000ef00) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:233 (engine_testapp+0x0000000c0d87) #4 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #5 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4090 (ep_testsuite.so+0x0000000dba6b) #6 test_dcp_producer_stream_req_partial_with_time_sync(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4403 (ep_testsuite.so+0x0000000afe67) #7 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #8 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T9 'mc:auxio_8' (tid=23648, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:492 (ep.so+0x0000002538a2) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/connmap.h:479 DcpConnMap::getNumActiveSnoozingBackfills() const ================== ================== WARNING: ThreadSanitizer: data race (pid=23637) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23649, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23637) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23649, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23637) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=23644, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 6 warnings ================== WARNING: ThreadSanitizer: data race (pid=23692) Read of size 8 at 0x7d480000b1f8 by main thread (mutexes: write M17324, write M1033, write M17278): #0 void STATWRITER_NAMESPACE::add_casted_stat(char const*, unsigned long const&, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/statwriter.h:45 (ep.so+0x0000000c7309) #1 ActiveStream::addStats(void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/dcp/stream.cc:477 (ep.so+0x000000163ea9) #2 DcpProducer::addStats(void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/dcp/producer.cc:602 (ep.so+0x00000014df2e) #3 ConnStatBuilder::operator()(SingleThreadedRCPtr&) /root/manu/ep-engine/src/ep_engine.cc:3875 (ep.so+0x000000231fc4) #4 ConnStatBuilder std::for_each >, ConnStatBuilder>(std::_List_iterator >, std::_List_iterator >, ConnStatBuilder) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_algo.h:4417 (ep.so+0x000000231e65) #5 void ConnMap::each_UNLOCKED(ConnStatBuilder) /root/manu/ep-engine/src/connmap.h:148 (ep.so+0x000000231dcd) #6 void ConnMap::each(ConnStatBuilder) /root/manu/ep-engine/src/connmap.h:140 (ep.so+0x000000226d6e) #7 EventuallyPersistentEngine::doDcpStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4128 (ep.so+0x0000001f8c2e) #8 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4548 (ep.so+0x0000001fd99d) #9 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #10 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #11 get_ull_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1008 (ep_testsuite.so+0x0000001156c6) #12 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4095 (ep_testsuite.so+0x0000000dbc2a) #13 test_dcp_producer_stream_req_full(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4434 (ep_testsuite.so+0x0000000b0627) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d480000b1f8 by thread T9 (mutexes: write M128490148592672264, write M17285): #0 ActiveStream::backfillReceived(Item*, backfill_source_t) /root/manu/ep-engine/src/dcp/stream.cc:287 (ep.so+0x000000161acd) #1 CacheCallback::callback(CacheLookup&) /root/manu/ep-engine/src/dcp/backfill.cc:66 (ep.so+0x0000001247fc) #2 CouchKVStore::recordDbDump(_db*, _docinfo*, void*) /root/manu/ep-engine/src/couch-kvstore/couch-kvstore.cc:1658 (ep.so+0x00000035daa9) #3 recordDbDumpC(_db*, _docinfo*, void*) /root/manu/ep-engine/src/couch-kvstore/couch-kvstore.cc:66 (ep.so+0x00000035bfa0) #4 lookup_callback(couchfile_lookup_request*, _sized_buf const*, _sized_buf const*) /root/manu/couchstore/src/couch_db.cc:767 (libcouchstore.so+0x00000001a3a3) #5 btree_lookup_inner(couchfile_lookup_request*, unsigned long, int, int) /root/manu/couchstore/src/btree_read.cc:99 (libcouchstore.so+0x000000013590) #6 btree_lookup_inner(couchfile_lookup_request*, unsigned long, int, int) /root/manu/couchstore/src/btree_read.cc:69 (libcouchstore.so+0x000000012ea5) #7 btree_lookup /root/manu/couchstore/src/btree_read.cc:131 (libcouchstore.so+0x00000001264b) #8 couchstore_changes_since /root/manu/couchstore/src/couch_db.cc:812 (libcouchstore.so+0x000000019c4a) #9 CouchKVStore::scan(ScanContext*) /root/manu/ep-engine/src/couch-kvstore/couch-kvstore.cc:1268 (ep.so+0x00000035bc85) #10 DCPBackfill::scan() /root/manu/ep-engine/src/dcp/backfill.cc:193 (ep.so+0x0000001262fa) #11 DCPBackfill::run() /root/manu/ep-engine/src/dcp/backfill.cc:118 (ep.so+0x000000125823) #12 BackfillManager::backfill() /root/manu/ep-engine/src/dcp/backfill-manager.cc:240 (ep.so+0x00000011ba36) #13 BackfillManagerTask::run() /root/manu/ep-engine/src/dcp/backfill-manager.cc:43 (ep.so+0x00000011b25b) #14 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #15 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #16 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 368 at 0x7d480000b100 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 DcpProducer::streamRequest(unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/dcp/producer.cc:218 (ep.so+0x000000148c9e) #2 EvpDcpStreamReq(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1542 (ep.so+0x0000001e52d3) #3 mock_dcp_stream_req(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:549 (engine_testapp+0x0000000c33a1) #4 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4069 (ep_testsuite.so+0x0000000db4c7) #5 test_dcp_producer_stream_req_full(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4434 (ep_testsuite.so+0x0000000b0627) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M17324 (0x7d280000ef00) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:233 (engine_testapp+0x0000000c0d87) #4 get_ull_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1008 (ep_testsuite.so+0x0000001156c6) #5 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4095 (ep_testsuite.so+0x0000000dbc2a) #6 test_dcp_producer_stream_req_full(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4434 (ep_testsuite.so+0x0000000b0627) #7 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #8 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M1033 (0x7d840001cc50) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 ConnMap /root/manu/ep-engine/src/connmap.cc:183 (ep.so+0x0000000ebf0a) #4 DcpConnMap /root/manu/ep-engine/src/connmap.cc:946 (ep.so+0x0000000f6fd5) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2112 (ep.so+0x0000001e81ef) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M17278 (0x7d4c0000a188) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 Producer /root/manu/ep-engine/src/tapconnection.h:788 (ep.so+0x000000150c6b) #4 DcpProducer /root/manu/ep-engine/src/dcp/producer.cc:50 (ep.so+0x000000146c40) #5 DcpConnMap::newProducer(void const*, std::string const&, bool) /root/manu/ep-engine/src/connmap.cc:1032 (ep.so+0x0000000f8686) #6 EventuallyPersistentEngine::dcpOpen(void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:6169 (ep.so+0x000000210157) #7 EvpDcpOpen(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:1491 (ep.so+0x0000001e49f5) #8 mock_dcp_open(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:488 (engine_testapp+0x0000000c2953) #9 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4056 (ep_testsuite.so+0x0000000db083) #10 test_dcp_producer_stream_req_full(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4434 (ep_testsuite.so+0x0000000b0627) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M128490148592672264 is already destroyed. Mutex M17285 (0x7d480000b168) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 Stream /root/manu/ep-engine/src/dcp/stream.cc:53 (ep.so+0x00000015d400) #4 ActiveStream /root/manu/ep-engine/src/dcp/stream.cc:142 (ep.so+0x00000015e7d3) #5 DcpProducer::streamRequest(unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/dcp/producer.cc:218 (ep.so+0x000000148dfa) #6 EvpDcpStreamReq(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1542 (ep.so+0x0000001e52d3) #7 mock_dcp_stream_req(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:549 (engine_testapp+0x0000000c33a1) #8 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4069 (ep_testsuite.so+0x0000000db4c7) #9 test_dcp_producer_stream_req_full(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4434 (ep_testsuite.so+0x0000000b0627) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T9 'mc:auxio_8' (tid=23703, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:492 (ep.so+0x0000002538a2) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/statwriter.h:45 void STATWRITER_NAMESPACE::add_casted_stat(char const*, unsigned long const&, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) ================== ================== WARNING: ThreadSanitizer: data race (pid=23692) Read of size 2 at 0x7d840001dcc2 by main thread (mutexes: write M17324): #0 DcpConnMap::getNumActiveSnoozingBackfills() const /root/manu/ep-engine/src/connmap.h:479 (ep.so+0x0000002276ee) #1 EventuallyPersistentEngine::doDcpStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4144 (ep.so+0x0000001f8ee7) #2 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4548 (ep.so+0x0000001fd99d) #3 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #4 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #5 get_ull_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1008 (ep_testsuite.so+0x0000001156c6) #6 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4095 (ep_testsuite.so+0x0000000dbc2a) #7 test_dcp_producer_stream_req_full(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4434 (ep_testsuite.so+0x0000000b0627) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 2 at 0x7d840001dcc2 by thread T9: #0 DcpConnMap::decrNumActiveSnoozingBackfills() /root/manu/ep-engine/src/connmap.cc:1259 (ep.so+0x0000000fb6e4) #1 BackfillManager::backfill() /root/manu/ep-engine/src/dcp/backfill-manager.cc:251 (ep.so+0x00000011bb83) #2 BackfillManagerTask::run() /root/manu/ep-engine/src/dcp/backfill-manager.cc:43 (ep.so+0x00000011b25b) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 4304 at 0x7d840001cc00 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2112 (ep.so+0x0000001e81cc) #2 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #3 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #4 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #5 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #6 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M17324 (0x7d280000ef00) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:233 (engine_testapp+0x0000000c0d87) #4 get_ull_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1008 (ep_testsuite.so+0x0000001156c6) #5 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4095 (ep_testsuite.so+0x0000000dbc2a) #6 test_dcp_producer_stream_req_full(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4434 (ep_testsuite.so+0x0000000b0627) #7 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #8 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T9 'mc:auxio_8' (tid=23703, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:492 (ep.so+0x0000002538a2) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/connmap.h:479 DcpConnMap::getNumActiveSnoozingBackfills() const ================== ================== WARNING: ThreadSanitizer: data race (pid=23692) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23704, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23692) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:53 (ep.so+0x0000002e8f7a) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23704, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23692) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=23702, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23692) Write of size 8 at 0x7d14000116e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000116e8 by thread T8: [failed to restore the stack] Location is heap block of size 80 at 0x7d14000116c0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=23702, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 6 warnings ================== WARNING: ThreadSanitizer: data race (pid=23713) Read of size 8 at 0x7d480000b1f8 by main thread (mutexes: write M17534, write M1033, write M17489): #0 void STATWRITER_NAMESPACE::add_casted_stat(char const*, unsigned long const&, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/statwriter.h:45 (ep.so+0x0000000c7309) #1 ActiveStream::addStats(void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/dcp/stream.cc:477 (ep.so+0x000000163ea9) #2 DcpProducer::addStats(void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/dcp/producer.cc:602 (ep.so+0x00000014df2e) #3 ConnStatBuilder::operator()(SingleThreadedRCPtr&) /root/manu/ep-engine/src/ep_engine.cc:3875 (ep.so+0x000000231fc4) #4 ConnStatBuilder std::for_each >, ConnStatBuilder>(std::_List_iterator >, std::_List_iterator >, ConnStatBuilder) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_algo.h:4417 (ep.so+0x000000231e65) #5 void ConnMap::each_UNLOCKED(ConnStatBuilder) /root/manu/ep-engine/src/connmap.h:148 (ep.so+0x000000231dcd) #6 void ConnMap::each(ConnStatBuilder) /root/manu/ep-engine/src/connmap.h:140 (ep.so+0x000000226d6e) #7 EventuallyPersistentEngine::doDcpStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4128 (ep.so+0x0000001f8c2e) #8 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4548 (ep.so+0x0000001fd99d) #9 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #10 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #11 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #12 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4090 (ep_testsuite.so+0x0000000dba6b) #13 test_dcp_producer_stream_req_disk(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4466 (ep_testsuite.so+0x0000000b0daf) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d480000b1f8 by thread T9 (mutexes: write M158185758635646472, write M17496): #0 ActiveStream::backfillReceived(Item*, backfill_source_t) /root/manu/ep-engine/src/dcp/stream.cc:287 (ep.so+0x000000161acd) #1 CacheCallback::callback(CacheLookup&) /root/manu/ep-engine/src/dcp/backfill.cc:66 (ep.so+0x0000001247fc) #2 CouchKVStore::recordDbDump(_db*, _docinfo*, void*) /root/manu/ep-engine/src/couch-kvstore/couch-kvstore.cc:1658 (ep.so+0x00000035daa9) #3 recordDbDumpC(_db*, _docinfo*, void*) /root/manu/ep-engine/src/couch-kvstore/couch-kvstore.cc:66 (ep.so+0x00000035bfa0) #4 lookup_callback(couchfile_lookup_request*, _sized_buf const*, _sized_buf const*) /root/manu/couchstore/src/couch_db.cc:767 (libcouchstore.so+0x00000001a3a3) #5 btree_lookup_inner(couchfile_lookup_request*, unsigned long, int, int) /root/manu/couchstore/src/btree_read.cc:99 (libcouchstore.so+0x000000013590) #6 btree_lookup_inner(couchfile_lookup_request*, unsigned long, int, int) /root/manu/couchstore/src/btree_read.cc:69 (libcouchstore.so+0x000000012ea5) #7 btree_lookup /root/manu/couchstore/src/btree_read.cc:131 (libcouchstore.so+0x00000001264b) #8 couchstore_changes_since /root/manu/couchstore/src/couch_db.cc:812 (libcouchstore.so+0x000000019c4a) #9 CouchKVStore::scan(ScanContext*) /root/manu/ep-engine/src/couch-kvstore/couch-kvstore.cc:1268 (ep.so+0x00000035bc85) #10 DCPBackfill::scan() /root/manu/ep-engine/src/dcp/backfill.cc:193 (ep.so+0x0000001262fa) #11 DCPBackfill::run() /root/manu/ep-engine/src/dcp/backfill.cc:118 (ep.so+0x000000125823) #12 BackfillManager::backfill() /root/manu/ep-engine/src/dcp/backfill-manager.cc:240 (ep.so+0x00000011ba36) #13 BackfillManagerTask::run() /root/manu/ep-engine/src/dcp/backfill-manager.cc:43 (ep.so+0x00000011b25b) #14 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #15 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #16 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 368 at 0x7d480000b100 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 DcpProducer::streamRequest(unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/dcp/producer.cc:218 (ep.so+0x000000148c9e) #2 EvpDcpStreamReq(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1542 (ep.so+0x0000001e52d3) #3 mock_dcp_stream_req(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:549 (engine_testapp+0x0000000c33a1) #4 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4069 (ep_testsuite.so+0x0000000db4c7) #5 test_dcp_producer_stream_req_disk(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4466 (ep_testsuite.so+0x0000000b0daf) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M17534 (0x7d280000ef00) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:233 (engine_testapp+0x0000000c0d87) #4 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #5 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4090 (ep_testsuite.so+0x0000000dba6b) #6 test_dcp_producer_stream_req_disk(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4466 (ep_testsuite.so+0x0000000b0daf) #7 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #8 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M1033 (0x7d840001cc50) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 ConnMap /root/manu/ep-engine/src/connmap.cc:183 (ep.so+0x0000000ebf0a) #4 DcpConnMap /root/manu/ep-engine/src/connmap.cc:946 (ep.so+0x0000000f6fd5) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2112 (ep.so+0x0000001e81ef) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M17489 (0x7d4c0000a188) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 Producer /root/manu/ep-engine/src/tapconnection.h:788 (ep.so+0x000000150c6b) #4 DcpProducer /root/manu/ep-engine/src/dcp/producer.cc:50 (ep.so+0x000000146c40) #5 DcpConnMap::newProducer(void const*, std::string const&, bool) /root/manu/ep-engine/src/connmap.cc:1032 (ep.so+0x0000000f8686) #6 EventuallyPersistentEngine::dcpOpen(void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:6169 (ep.so+0x000000210157) #7 EvpDcpOpen(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:1491 (ep.so+0x0000001e49f5) #8 mock_dcp_open(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:488 (engine_testapp+0x0000000c2953) #9 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4056 (ep_testsuite.so+0x0000000db083) #10 test_dcp_producer_stream_req_disk(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4466 (ep_testsuite.so+0x0000000b0daf) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M158185758635646472 is already destroyed. Mutex M17496 (0x7d480000b168) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 Stream /root/manu/ep-engine/src/dcp/stream.cc:53 (ep.so+0x00000015d400) #4 ActiveStream /root/manu/ep-engine/src/dcp/stream.cc:142 (ep.so+0x00000015e7d3) #5 DcpProducer::streamRequest(unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/dcp/producer.cc:218 (ep.so+0x000000148dfa) #6 EvpDcpStreamReq(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1542 (ep.so+0x0000001e52d3) #7 mock_dcp_stream_req(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:549 (engine_testapp+0x0000000c33a1) #8 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4069 (ep_testsuite.so+0x0000000db4c7) #9 test_dcp_producer_stream_req_disk(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4466 (ep_testsuite.so+0x0000000b0daf) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T9 'mc:auxio_8' (tid=23724, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:492 (ep.so+0x0000002538a2) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/statwriter.h:45 void STATWRITER_NAMESPACE::add_casted_stat(char const*, unsigned long const&, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) ================== ================== WARNING: ThreadSanitizer: data race (pid=23713) Read of size 2 at 0x7d840001dcc2 by main thread (mutexes: write M17534): #0 DcpConnMap::getNumActiveSnoozingBackfills() const /root/manu/ep-engine/src/connmap.h:479 (ep.so+0x0000002276ee) #1 EventuallyPersistentEngine::doDcpStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4144 (ep.so+0x0000001f8ee7) #2 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4548 (ep.so+0x0000001fd99d) #3 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #4 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #5 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #6 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4090 (ep_testsuite.so+0x0000000dba6b) #7 test_dcp_producer_stream_req_disk(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4466 (ep_testsuite.so+0x0000000b0daf) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 2 at 0x7d840001dcc2 by thread T9: #0 DcpConnMap::decrNumActiveSnoozingBackfills() /root/manu/ep-engine/src/connmap.cc:1259 (ep.so+0x0000000fb6e4) #1 BackfillManager::backfill() /root/manu/ep-engine/src/dcp/backfill-manager.cc:251 (ep.so+0x00000011bb83) #2 BackfillManagerTask::run() /root/manu/ep-engine/src/dcp/backfill-manager.cc:43 (ep.so+0x00000011b25b) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 4304 at 0x7d840001cc00 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2112 (ep.so+0x0000001e81cc) #2 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #3 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #4 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #5 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #6 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M17534 (0x7d280000ef00) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:233 (engine_testapp+0x0000000c0d87) #4 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #5 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4090 (ep_testsuite.so+0x0000000dba6b) #6 test_dcp_producer_stream_req_disk(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4466 (ep_testsuite.so+0x0000000b0daf) #7 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #8 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T9 'mc:auxio_8' (tid=23724, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:492 (ep.so+0x0000002538a2) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/connmap.h:479 DcpConnMap::getNumActiveSnoozingBackfills() const ================== ================== WARNING: ThreadSanitizer: data race (pid=23713) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23725, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23713) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=23723, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=23733) Write of size 8 at 0x7d480000b1f8 by thread T9 (mutexes: write M17299, write M17288): #0 ActiveStream::backfillReceived(Item*, backfill_source_t) /root/manu/ep-engine/src/dcp/stream.cc:287 (ep.so+0x000000161acd) #1 CacheCallback::callback(CacheLookup&) /root/manu/ep-engine/src/dcp/backfill.cc:66 (ep.so+0x0000001247fc) #2 CouchKVStore::recordDbDump(_db*, _docinfo*, void*) /root/manu/ep-engine/src/couch-kvstore/couch-kvstore.cc:1658 (ep.so+0x00000035daa9) #3 recordDbDumpC(_db*, _docinfo*, void*) /root/manu/ep-engine/src/couch-kvstore/couch-kvstore.cc:66 (ep.so+0x00000035bfa0) #4 lookup_callback(couchfile_lookup_request*, _sized_buf const*, _sized_buf const*) /root/manu/couchstore/src/couch_db.cc:767 (libcouchstore.so+0x00000001a3a3) #5 btree_lookup_inner(couchfile_lookup_request*, unsigned long, int, int) /root/manu/couchstore/src/btree_read.cc:99 (libcouchstore.so+0x000000013590) #6 btree_lookup_inner(couchfile_lookup_request*, unsigned long, int, int) /root/manu/couchstore/src/btree_read.cc:69 (libcouchstore.so+0x000000012ea5) #7 btree_lookup /root/manu/couchstore/src/btree_read.cc:131 (libcouchstore.so+0x00000001264b) #8 couchstore_changes_since /root/manu/couchstore/src/couch_db.cc:812 (libcouchstore.so+0x000000019c4a) #9 CouchKVStore::scan(ScanContext*) /root/manu/ep-engine/src/couch-kvstore/couch-kvstore.cc:1268 (ep.so+0x00000035bc85) #10 DCPBackfill::scan() /root/manu/ep-engine/src/dcp/backfill.cc:193 (ep.so+0x0000001262fa) #11 DCPBackfill::run() /root/manu/ep-engine/src/dcp/backfill.cc:118 (ep.so+0x000000125823) #12 BackfillManager::backfill() /root/manu/ep-engine/src/dcp/backfill-manager.cc:240 (ep.so+0x00000011ba36) #13 BackfillManagerTask::run() /root/manu/ep-engine/src/dcp/backfill-manager.cc:43 (ep.so+0x00000011b25b) #14 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #15 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #16 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous read of size 8 at 0x7d480000b1f8 by main thread (mutexes: write M133134537248009984, write M1033, write M17281): #0 void STATWRITER_NAMESPACE::add_casted_stat(char const*, unsigned long const&, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/statwriter.h:45 (ep.so+0x0000000c7309) #1 ActiveStream::addStats(void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/dcp/stream.cc:477 (ep.so+0x000000163ea9) #2 DcpProducer::addStats(void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/dcp/producer.cc:602 (ep.so+0x00000014df2e) #3 ConnStatBuilder::operator()(SingleThreadedRCPtr&) /root/manu/ep-engine/src/ep_engine.cc:3875 (ep.so+0x000000231fc4) #4 ConnStatBuilder std::for_each >, ConnStatBuilder>(std::_List_iterator >, std::_List_iterator >, ConnStatBuilder) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_algo.h:4417 (ep.so+0x000000231e65) #5 void ConnMap::each_UNLOCKED(ConnStatBuilder) /root/manu/ep-engine/src/connmap.h:148 (ep.so+0x000000231dcd) #6 void ConnMap::each(ConnStatBuilder) /root/manu/ep-engine/src/connmap.h:140 (ep.so+0x000000226d6e) #7 EventuallyPersistentEngine::doDcpStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4128 (ep.so+0x0000001f8c2e) #8 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4548 (ep.so+0x0000001fd99d) #9 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #10 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #11 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #12 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4085 (ep_testsuite.so+0x0000000db8b2) #13 test_dcp_producer_stream_req_diskonly(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4498 (ep_testsuite.so+0x0000000b1534) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Location is heap block of size 368 at 0x7d480000b100 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 DcpProducer::streamRequest(unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/dcp/producer.cc:218 (ep.so+0x000000148c9e) #2 EvpDcpStreamReq(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1542 (ep.so+0x0000001e52d3) #3 mock_dcp_stream_req(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:549 (engine_testapp+0x0000000c33a1) #4 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4069 (ep_testsuite.so+0x0000000db4c7) #5 test_dcp_producer_stream_req_diskonly(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4498 (ep_testsuite.so+0x0000000b1534) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M17299 (0x7d1c0000de08) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 DCPBackfill /root/manu/ep-engine/src/dcp/backfill.cc:104 (ep.so+0x0000001253a1) #4 BackfillManager::schedule(SingleThreadedRCPtr, unsigned long, unsigned long) /root/manu/ep-engine/src/dcp/backfill-manager.cc:123 (ep.so+0x00000011d05b) #5 ActiveStream::scheduleBackfill() /root/manu/ep-engine/src/dcp/stream.cc:733 (ep.so+0x000000166140) #6 ActiveStream::transitionState(stream_state_t) /root/manu/ep-engine/src/dcp/stream.cc:822 (ep.so+0x00000015fa8c) #7 ActiveStream::setActive() /root/manu/ep-engine/src/dcp/stream.h:189 (ep.so+0x000000151e2b) #8 DcpProducer::streamRequest(unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/dcp/producer.cc:222 (ep.so+0x000000148e89) #9 EvpDcpStreamReq(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1542 (ep.so+0x0000001e52d3) #10 mock_dcp_stream_req(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:549 (engine_testapp+0x0000000c33a1) #11 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4069 (ep_testsuite.so+0x0000000db4c7) #12 test_dcp_producer_stream_req_diskonly(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4498 (ep_testsuite.so+0x0000000b1534) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M17288 (0x7d480000b168) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 Stream /root/manu/ep-engine/src/dcp/stream.cc:53 (ep.so+0x00000015d400) #4 ActiveStream /root/manu/ep-engine/src/dcp/stream.cc:142 (ep.so+0x00000015e7d3) #5 DcpProducer::streamRequest(unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/dcp/producer.cc:218 (ep.so+0x000000148dfa) #6 EvpDcpStreamReq(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1542 (ep.so+0x0000001e52d3) #7 mock_dcp_stream_req(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:549 (engine_testapp+0x0000000c33a1) #8 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4069 (ep_testsuite.so+0x0000000db4c7) #9 test_dcp_producer_stream_req_diskonly(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4498 (ep_testsuite.so+0x0000000b1534) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M133134537248009984 is already destroyed. Mutex M1033 (0x7d840001cc50) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 ConnMap /root/manu/ep-engine/src/connmap.cc:183 (ep.so+0x0000000ebf0a) #4 DcpConnMap /root/manu/ep-engine/src/connmap.cc:946 (ep.so+0x0000000f6fd5) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2112 (ep.so+0x0000001e81ef) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M17281 (0x7d4c0000a188) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 Producer /root/manu/ep-engine/src/tapconnection.h:788 (ep.so+0x000000150c6b) #4 DcpProducer /root/manu/ep-engine/src/dcp/producer.cc:50 (ep.so+0x000000146c40) #5 DcpConnMap::newProducer(void const*, std::string const&, bool) /root/manu/ep-engine/src/connmap.cc:1032 (ep.so+0x0000000f8686) #6 EventuallyPersistentEngine::dcpOpen(void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:6169 (ep.so+0x000000210157) #7 EvpDcpOpen(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:1491 (ep.so+0x0000001e49f5) #8 mock_dcp_open(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:488 (engine_testapp+0x0000000c2953) #9 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4056 (ep_testsuite.so+0x0000000db083) #10 test_dcp_producer_stream_req_diskonly(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4498 (ep_testsuite.so+0x0000000b1534) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T9 'mc:auxio_8' (tid=23745, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:492 (ep.so+0x0000002538a2) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/dcp/stream.cc:287 ActiveStream::backfillReceived(Item*, backfill_source_t) ================== ================== WARNING: ThreadSanitizer: data race (pid=23733) Write of size 8 at 0x7d180000c448 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d180000c448 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 96 at 0x7d180000c420 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:446 (ep.so+0x00000017eb2b) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23746, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23733) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23746, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23733) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=23740, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23733) Write of size 8 at 0x7d140000e3f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e3f8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e3d0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=23743, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=23740, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23733) Write of size 8 at 0x7d140002f7d8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140002f7d8 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d140002f7b0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=23742, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=23740, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 6 warnings ================== WARNING: ThreadSanitizer: data race (pid=23754) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23766, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23754) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=23762, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=23772) Read of size 4 at 0x7d040000f5e8 by main thread (mutexes: write M18083): #0 WorkLoadPolicy::stringOfWorkLoadPattern() /root/manu/ep-engine/src/workload.h:65 (ep.so+0x0000002257dd) #1 EventuallyPersistentEngine::doEngineStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:3590 (ep.so+0x0000001f4ba1) #2 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4538 (ep.so+0x0000001fd68a) #3 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #4 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #5 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #6 test_dcp_producer_stream_req_dgm(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4539 (ep_testsuite.so+0x0000000b1d9a) #7 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #8 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 4 at 0x7d040000f5e8 by thread T10: #0 WorkLoadPolicy::setWorkLoadPattern(workload_pattern_t) /root/manu/ep-engine/src/workload.h:76 (ep.so+0x0000002eab18) #1 WorkLoadMonitor::run() /root/manu/ep-engine/src/tasks.cc:160 (ep.so+0x0000002ea532) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 12 at 0x7d040000f5e0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2103 (ep.so+0x0000001e7ccd) #2 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #3 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #4 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #5 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #6 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M18083 (0x7d280000efa0) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:233 (engine_testapp+0x0000000c0d87) #4 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #5 test_dcp_producer_stream_req_dgm(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4539 (ep_testsuite.so+0x0000000b1d9a) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23784, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/workload.h:65 WorkLoadPolicy::stringOfWorkLoadPattern() ================== ================== WARNING: ThreadSanitizer: data race (pid=23772) Write of size 8 at 0x7d680001f678 by thread T7 (mutexes: write M11108, write M14458): #0 VBucket::notifyCheckpointPersisted(EventuallyPersistentEngine&, unsigned long, bool) /root/manu/ep-engine/src/vbucket.cc:356 (ep.so+0x0000002fddee) #1 EventuallyPersistentStore::flushVBucket(unsigned short) /root/manu/ep-engine/src/ep.cc:3288 (ep.so+0x00000019cdde) #2 Flusher::flushVB() /root/manu/ep-engine/src/flusher.cc:297 (ep.so+0x0000002768d9) #3 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:176 (ep.so+0x000000275810) #4 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #5 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #6 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #7 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous read of size 8 at 0x7d680001f678 by main thread (mutexes: write M450919785954340768): #0 VBucket::getHighPriorityChkSize() /root/manu/ep-engine/src/vbucket.cc:401 (ep.so+0x0000002fe6be) #1 VBucketCountVisitor::visitBucket(RCPtr&) /root/manu/ep-engine/src/ep_engine.cc:3020 (ep.so+0x0000001ee3a2) #2 VBucketCountAggregator::visitBucket(RCPtr&) /root/manu/ep-engine/src/ep_engine.cc:3057 (ep.so+0x0000001eece1) #3 EventuallyPersistentStore::visit(VBucketVisitor&) /root/manu/ep-engine/src/ep.cc:3673 (ep.so+0x000000188064) #4 EventuallyPersistentEngine::doEngineStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:3083 (ep.so+0x0000001eef77) #5 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4538 (ep.so+0x0000001fd68a) #6 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #7 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #8 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #9 test_dcp_producer_stream_req_dgm(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4539 (ep_testsuite.so+0x0000000b1d9a) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Location is heap block of size 1328 at 0x7d680001f200 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::setVBucketState(unsigned short, vbucket_state_t, bool, bool) /root/manu/ep-engine/src/ep.cc:1292 (ep.so+0x000000189b06) #2 EventuallyPersistentEngine::setVBucketState(unsigned short, vbucket_state_t, bool) /root/manu/ep-engine/src/ep_engine.h:715 (ep.so+0x00000024a7a2) #3 setVBucket(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:878 (ep.so+0x000000217458) #4 processUnknownCommand(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1172 (ep.so+0x00000021400a) #5 EvpUnknownCommand(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1383 (ep.so+0x0000001e3215) #6 mock_unknown_command(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:380 (engine_testapp+0x0000000c14c2) #7 set_vbucket_state(engine_interface*, engine_interface_v1*, unsigned short, vbucket_state_t) /root/manu/ep-engine/tests/ep_test_apis.cc:607 (ep_testsuite.so+0x0000001149a3) #8 test_setup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite_common.cc:146 (ep_testsuite.so+0x0000001094b7) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1085 (engine_testapp+0x0000000bd5fb) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11108 (0x7dc400000010) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:304 (ep.so+0x00000017b7a0) #4 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #5 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #6 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #7 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M14458 (0x7d680001f630) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 VBucket /root/manu/ep-engine/src/vbucket.h:188 (ep.so+0x0000001aab38) #4 EventuallyPersistentStore::setVBucketState(unsigned short, vbucket_state_t, bool, bool) /root/manu/ep-engine/src/ep.cc:1292 (ep.so+0x000000189c83) #5 EventuallyPersistentEngine::setVBucketState(unsigned short, vbucket_state_t, bool) /root/manu/ep-engine/src/ep_engine.h:715 (ep.so+0x00000024a7a2) #6 setVBucket(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:878 (ep.so+0x000000217458) #7 processUnknownCommand(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1172 (ep.so+0x00000021400a) #8 EvpUnknownCommand(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1383 (ep.so+0x0000001e3215) #9 mock_unknown_command(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:380 (engine_testapp+0x0000000c14c2) #10 set_vbucket_state(engine_interface*, engine_interface_v1*, unsigned short, vbucket_state_t) /root/manu/ep-engine/tests/ep_test_apis.cc:607 (ep_testsuite.so+0x0000001149a3) #11 test_setup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite_common.cc:146 (ep_testsuite.so+0x0000001094b7) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1085 (engine_testapp+0x0000000bd5fb) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M450919785954340768 is already destroyed. Thread T7 'mc:writer_6' (tid=23781, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/vbucket.cc:356 VBucket::notifyCheckpointPersisted(EventuallyPersistentEngine&, unsigned long, bool) ================== ================== WARNING: ThreadSanitizer: data race (pid=23772) Read of size 8 at 0x7d480000b078 by main thread (mutexes: write M196344, write M1033, write M196296): #0 void STATWRITER_NAMESPACE::add_casted_stat(char const*, unsigned long const&, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/statwriter.h:45 (ep.so+0x0000000c7309) #1 ActiveStream::addStats(void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/dcp/stream.cc:477 (ep.so+0x000000163ea9) #2 DcpProducer::addStats(void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/dcp/producer.cc:602 (ep.so+0x00000014df2e) #3 ConnStatBuilder::operator()(SingleThreadedRCPtr&) /root/manu/ep-engine/src/ep_engine.cc:3875 (ep.so+0x000000231fc4) #4 ConnStatBuilder std::for_each >, ConnStatBuilder>(std::_List_iterator >, std::_List_iterator >, ConnStatBuilder) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_algo.h:4417 (ep.so+0x000000231e65) #5 void ConnMap::each_UNLOCKED(ConnStatBuilder) /root/manu/ep-engine/src/connmap.h:148 (ep.so+0x000000231dcd) #6 void ConnMap::each(ConnStatBuilder) /root/manu/ep-engine/src/connmap.h:140 (ep.so+0x000000226d6e) #7 EventuallyPersistentEngine::doDcpStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4128 (ep.so+0x0000001f8c2e) #8 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4548 (ep.so+0x0000001fd99d) #9 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #10 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #11 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #12 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4090 (ep_testsuite.so+0x0000000dba6b) #13 test_dcp_producer_stream_req_dgm(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4564 (ep_testsuite.so+0x0000000b24e4) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d480000b078 by thread T9 (mutexes: write M196314, write M196303): #0 ActiveStream::backfillReceived(Item*, backfill_source_t) /root/manu/ep-engine/src/dcp/stream.cc:287 (ep.so+0x000000161acd) #1 DiskCallback::callback(GetValue&) /root/manu/ep-engine/src/dcp/backfill.cc:94 (ep.so+0x000000125132) #2 CouchKVStore::recordDbDump(_db*, _docinfo*, void*) /root/manu/ep-engine/src/couch-kvstore/couch-kvstore.cc:1761 (ep.so+0x00000035e994) #3 recordDbDumpC(_db*, _docinfo*, void*) /root/manu/ep-engine/src/couch-kvstore/couch-kvstore.cc:66 (ep.so+0x00000035bfa0) #4 lookup_callback(couchfile_lookup_request*, _sized_buf const*, _sized_buf const*) /root/manu/couchstore/src/couch_db.cc:767 (libcouchstore.so+0x00000001a3a3) #5 btree_lookup_inner(couchfile_lookup_request*, unsigned long, int, int) /root/manu/couchstore/src/btree_read.cc:99 (libcouchstore.so+0x000000013590) #6 btree_lookup_inner(couchfile_lookup_request*, unsigned long, int, int) /root/manu/couchstore/src/btree_read.cc:69 (libcouchstore.so+0x000000012ea5) #7 btree_lookup_inner(couchfile_lookup_request*, unsigned long, int, int) /root/manu/couchstore/src/btree_read.cc:69 (libcouchstore.so+0x000000012ea5) #8 btree_lookup /root/manu/couchstore/src/btree_read.cc:131 (libcouchstore.so+0x00000001264b) #9 couchstore_changes_since /root/manu/couchstore/src/couch_db.cc:812 (libcouchstore.so+0x000000019c4a) #10 CouchKVStore::scan(ScanContext*) /root/manu/ep-engine/src/couch-kvstore/couch-kvstore.cc:1268 (ep.so+0x00000035bc85) #11 DCPBackfill::scan() /root/manu/ep-engine/src/dcp/backfill.cc:193 (ep.so+0x0000001262fa) #12 DCPBackfill::run() /root/manu/ep-engine/src/dcp/backfill.cc:118 (ep.so+0x000000125823) #13 BackfillManager::backfill() /root/manu/ep-engine/src/dcp/backfill-manager.cc:240 (ep.so+0x00000011ba36) #14 BackfillManagerTask::run() /root/manu/ep-engine/src/dcp/backfill-manager.cc:43 (ep.so+0x00000011b25b) #15 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #16 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #17 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 368 at 0x7d480000af80 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 DcpProducer::streamRequest(unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/dcp/producer.cc:218 (ep.so+0x000000148c9e) #2 EvpDcpStreamReq(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1542 (ep.so+0x0000001e52d3) #3 mock_dcp_stream_req(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:549 (engine_testapp+0x0000000c33a1) #4 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4069 (ep_testsuite.so+0x0000000db4c7) #5 test_dcp_producer_stream_req_dgm(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4564 (ep_testsuite.so+0x0000000b24e4) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M196344 (0x7d280000ef00) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:233 (engine_testapp+0x0000000c0d87) #4 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #5 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4090 (ep_testsuite.so+0x0000000dba6b) #6 test_dcp_producer_stream_req_dgm(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4564 (ep_testsuite.so+0x0000000b24e4) #7 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #8 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M1033 (0x7d840001cc50) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 ConnMap /root/manu/ep-engine/src/connmap.cc:183 (ep.so+0x0000000ebf0a) #4 DcpConnMap /root/manu/ep-engine/src/connmap.cc:946 (ep.so+0x0000000f6fd5) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2112 (ep.so+0x0000001e81ef) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M196296 (0x7d4c0000a188) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 Producer /root/manu/ep-engine/src/tapconnection.h:788 (ep.so+0x000000150c6b) #4 DcpProducer /root/manu/ep-engine/src/dcp/producer.cc:50 (ep.so+0x000000146c40) #5 DcpConnMap::newProducer(void const*, std::string const&, bool) /root/manu/ep-engine/src/connmap.cc:1032 (ep.so+0x0000000f8686) #6 EventuallyPersistentEngine::dcpOpen(void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:6169 (ep.so+0x000000210157) #7 EvpDcpOpen(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:1491 (ep.so+0x0000001e49f5) #8 mock_dcp_open(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:488 (engine_testapp+0x0000000c2953) #9 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4056 (ep_testsuite.so+0x0000000db083) #10 test_dcp_producer_stream_req_dgm(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4564 (ep_testsuite.so+0x0000000b24e4) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M196314 (0x7d1c0000de08) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 DCPBackfill /root/manu/ep-engine/src/dcp/backfill.cc:104 (ep.so+0x0000001253a1) #4 BackfillManager::schedule(SingleThreadedRCPtr, unsigned long, unsigned long) /root/manu/ep-engine/src/dcp/backfill-manager.cc:123 (ep.so+0x00000011d05b) #5 ActiveStream::scheduleBackfill() /root/manu/ep-engine/src/dcp/stream.cc:733 (ep.so+0x000000166140) #6 ActiveStream::transitionState(stream_state_t) /root/manu/ep-engine/src/dcp/stream.cc:822 (ep.so+0x00000015fa8c) #7 ActiveStream::setActive() /root/manu/ep-engine/src/dcp/stream.h:189 (ep.so+0x000000151e2b) #8 DcpProducer::streamRequest(unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/dcp/producer.cc:222 (ep.so+0x000000148e89) #9 EvpDcpStreamReq(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1542 (ep.so+0x0000001e52d3) #10 mock_dcp_stream_req(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:549 (engine_testapp+0x0000000c33a1) #11 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4069 (ep_testsuite.so+0x0000000db4c7) #12 test_dcp_producer_stream_req_dgm(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4564 (ep_testsuite.so+0x0000000b24e4) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M196303 (0x7d480000afe8) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 Stream /root/manu/ep-engine/src/dcp/stream.cc:53 (ep.so+0x00000015d400) #4 ActiveStream /root/manu/ep-engine/src/dcp/stream.cc:142 (ep.so+0x00000015e7d3) #5 DcpProducer::streamRequest(unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/dcp/producer.cc:218 (ep.so+0x000000148dfa) #6 EvpDcpStreamReq(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1542 (ep.so+0x0000001e52d3) #7 mock_dcp_stream_req(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:549 (engine_testapp+0x0000000c33a1) #8 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4069 (ep_testsuite.so+0x0000000db4c7) #9 test_dcp_producer_stream_req_dgm(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4564 (ep_testsuite.so+0x0000000b24e4) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T9 'mc:auxio_8' (tid=23783, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:492 (ep.so+0x0000002538a2) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/statwriter.h:45 void STATWRITER_NAMESPACE::add_casted_stat(char const*, unsigned long const&, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) ================== ================== WARNING: ThreadSanitizer: data race (pid=23772) Write of size 4 at 0x7d4c0000a154 by main thread: #0 ConnHandler::setLastWalkTime() /root/manu/ep-engine/src/tapconnection.h:356 (ep.so+0x00000013569a) #1 DcpProducer::step(dcp_message_producers*) /root/manu/ep-engine/src/dcp/producer.cc:253 (ep.so+0x0000001494b5) #2 EvpDcpStep(engine_interface*, void const*, dcp_message_producers*) /root/manu/ep-engine/src/ep_engine.cc:1475 (ep.so+0x0000001e482a) #3 mock_dcp_step(engine_interface*, void const*, dcp_message_producers*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:476 (engine_testapp+0x0000000c26f8) #4 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4164 (ep_testsuite.so+0x0000000dcc3c) #5 test_dcp_producer_stream_req_dgm(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4564 (ep_testsuite.so+0x0000000b24e4) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 4 at 0x7d4c0000a154 by thread T10 (mutexes: write M1033): #0 ConnHandler::getLastWalkTime() /root/manu/ep-engine/src/tapconnection.h:360 (ep.so+0x0000000ff03e) #1 DcpConnMap::manageConnections() /root/manu/ep-engine/src/connmap.cc:1170 (ep.so+0x0000000fa356) #2 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:152 (ep.so+0x00000011a9f2) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 448 at 0x7d4c0000a100 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 DcpConnMap::newProducer(void const*, std::string const&, bool) /root/manu/ep-engine/src/connmap.cc:1032 (ep.so+0x0000000f85fd) #2 EventuallyPersistentEngine::dcpOpen(void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:6169 (ep.so+0x000000210157) #3 EvpDcpOpen(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:1491 (ep.so+0x0000001e49f5) #4 mock_dcp_open(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:488 (engine_testapp+0x0000000c2953) #5 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4056 (ep_testsuite.so+0x0000000db083) #6 test_dcp_producer_stream_req_dgm(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4564 (ep_testsuite.so+0x0000000b24e4) #7 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #8 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M1033 (0x7d840001cc50) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 ConnMap /root/manu/ep-engine/src/connmap.cc:183 (ep.so+0x0000000ebf0a) #4 DcpConnMap /root/manu/ep-engine/src/connmap.cc:946 (ep.so+0x0000000f6fd5) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2112 (ep.so+0x0000001e81ef) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23784, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/tapconnection.h:356 ConnHandler::setLastWalkTime() ================== ================== WARNING: ThreadSanitizer: data race (pid=23772) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23784, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23772) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=23784, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23772) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=23779, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=23772) Write of size 8 at 0x7d1400007508 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400007508 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d14000074e0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=23779, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 8 warnings ================== WARNING: ThreadSanitizer: data race (pid=24019) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24031, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24019) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=24029, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=24037) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24049, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24037) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=24045, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24037) Write of size 8 at 0x7d14000075a8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000075a8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400007580 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=24044, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=24046, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24037) Write of size 8 at 0x7d140000e3f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e3f8 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e3d0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=24045, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=24046, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=24055) Read of size 8 at 0x7d480000b1f8 by main thread (mutexes: write M17332, write M1033, write M17286): #0 void STATWRITER_NAMESPACE::add_casted_stat(char const*, unsigned long const&, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/statwriter.h:45 (ep.so+0x0000000c7309) #1 ActiveStream::addStats(void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/dcp/stream.cc:477 (ep.so+0x000000163ea9) #2 DcpProducer::addStats(void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/dcp/producer.cc:602 (ep.so+0x00000014df2e) #3 ConnStatBuilder::operator()(SingleThreadedRCPtr&) /root/manu/ep-engine/src/ep_engine.cc:3875 (ep.so+0x000000231fc4) #4 ConnStatBuilder std::for_each >, ConnStatBuilder>(std::_List_iterator >, std::_List_iterator >, ConnStatBuilder) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_algo.h:4417 (ep.so+0x000000231e65) #5 void ConnMap::each_UNLOCKED(ConnStatBuilder) /root/manu/ep-engine/src/connmap.h:148 (ep.so+0x000000231dcd) #6 void ConnMap::each(ConnStatBuilder) /root/manu/ep-engine/src/connmap.h:140 (ep.so+0x000000226d6e) #7 EventuallyPersistentEngine::doDcpStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4128 (ep.so+0x0000001f8c2e) #8 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4548 (ep.so+0x0000001fd99d) #9 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #10 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #11 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #12 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4090 (ep_testsuite.so+0x0000000dba6b) #13 test_dcp_agg_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4654 (ep_testsuite.so+0x0000000b3852) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d480000b1f8 by thread T9 (mutexes: write M129616048499514888, write M17293): #0 ActiveStream::backfillReceived(Item*, backfill_source_t) /root/manu/ep-engine/src/dcp/stream.cc:287 (ep.so+0x000000161acd) #1 CacheCallback::callback(CacheLookup&) /root/manu/ep-engine/src/dcp/backfill.cc:66 (ep.so+0x0000001247fc) #2 CouchKVStore::recordDbDump(_db*, _docinfo*, void*) /root/manu/ep-engine/src/couch-kvstore/couch-kvstore.cc:1658 (ep.so+0x00000035daa9) #3 recordDbDumpC(_db*, _docinfo*, void*) /root/manu/ep-engine/src/couch-kvstore/couch-kvstore.cc:66 (ep.so+0x00000035bfa0) #4 lookup_callback(couchfile_lookup_request*, _sized_buf const*, _sized_buf const*) /root/manu/couchstore/src/couch_db.cc:767 (libcouchstore.so+0x00000001a3a3) #5 btree_lookup_inner(couchfile_lookup_request*, unsigned long, int, int) /root/manu/couchstore/src/btree_read.cc:99 (libcouchstore.so+0x000000013590) #6 btree_lookup_inner(couchfile_lookup_request*, unsigned long, int, int) /root/manu/couchstore/src/btree_read.cc:69 (libcouchstore.so+0x000000012ea5) #7 btree_lookup /root/manu/couchstore/src/btree_read.cc:131 (libcouchstore.so+0x00000001264b) #8 couchstore_changes_since /root/manu/couchstore/src/couch_db.cc:812 (libcouchstore.so+0x000000019c4a) #9 CouchKVStore::scan(ScanContext*) /root/manu/ep-engine/src/couch-kvstore/couch-kvstore.cc:1268 (ep.so+0x00000035bc85) #10 DCPBackfill::scan() /root/manu/ep-engine/src/dcp/backfill.cc:193 (ep.so+0x0000001262fa) #11 DCPBackfill::run() /root/manu/ep-engine/src/dcp/backfill.cc:118 (ep.so+0x000000125823) #12 BackfillManager::backfill() /root/manu/ep-engine/src/dcp/backfill-manager.cc:240 (ep.so+0x00000011ba36) #13 BackfillManagerTask::run() /root/manu/ep-engine/src/dcp/backfill-manager.cc:43 (ep.so+0x00000011b25b) #14 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #15 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #16 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 368 at 0x7d480000b100 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 DcpProducer::streamRequest(unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/dcp/producer.cc:218 (ep.so+0x000000148c9e) #2 EvpDcpStreamReq(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1542 (ep.so+0x0000001e52d3) #3 mock_dcp_stream_req(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:549 (engine_testapp+0x0000000c33a1) #4 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4069 (ep_testsuite.so+0x0000000db4c7) #5 test_dcp_agg_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4654 (ep_testsuite.so+0x0000000b3852) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M17332 (0x7d280000ef00) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:233 (engine_testapp+0x0000000c0d87) #4 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #5 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4090 (ep_testsuite.so+0x0000000dba6b) #6 test_dcp_agg_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4654 (ep_testsuite.so+0x0000000b3852) #7 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #8 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M1033 (0x7d840001cc50) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 ConnMap /root/manu/ep-engine/src/connmap.cc:183 (ep.so+0x0000000ebf0a) #4 DcpConnMap /root/manu/ep-engine/src/connmap.cc:946 (ep.so+0x0000000f6fd5) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2112 (ep.so+0x0000001e81ef) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M17286 (0x7d4c0000a188) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 Producer /root/manu/ep-engine/src/tapconnection.h:788 (ep.so+0x000000150c6b) #4 DcpProducer /root/manu/ep-engine/src/dcp/producer.cc:50 (ep.so+0x000000146c40) #5 DcpConnMap::newProducer(void const*, std::string const&, bool) /root/manu/ep-engine/src/connmap.cc:1032 (ep.so+0x0000000f8686) #6 EventuallyPersistentEngine::dcpOpen(void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:6169 (ep.so+0x000000210157) #7 EvpDcpOpen(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:1491 (ep.so+0x0000001e49f5) #8 mock_dcp_open(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:488 (engine_testapp+0x0000000c2953) #9 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4056 (ep_testsuite.so+0x0000000db083) #10 test_dcp_agg_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4654 (ep_testsuite.so+0x0000000b3852) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M129616048499514888 is already destroyed. Mutex M17293 (0x7d480000b168) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 Stream /root/manu/ep-engine/src/dcp/stream.cc:53 (ep.so+0x00000015d400) #4 ActiveStream /root/manu/ep-engine/src/dcp/stream.cc:142 (ep.so+0x00000015e7d3) #5 DcpProducer::streamRequest(unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/dcp/producer.cc:218 (ep.so+0x000000148dfa) #6 EvpDcpStreamReq(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1542 (ep.so+0x0000001e52d3) #7 mock_dcp_stream_req(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:549 (engine_testapp+0x0000000c33a1) #8 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4069 (ep_testsuite.so+0x0000000db4c7) #9 test_dcp_agg_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4654 (ep_testsuite.so+0x0000000b3852) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T9 'mc:auxio_8' (tid=24066, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:492 (ep.so+0x0000002538a2) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/statwriter.h:45 void STATWRITER_NAMESPACE::add_casted_stat(char const*, unsigned long const&, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) ================== ================== WARNING: ThreadSanitizer: data race (pid=24055) Read of size 2 at 0x7d840001dcc2 by main thread (mutexes: write M17332): #0 DcpConnMap::getNumActiveSnoozingBackfills() const /root/manu/ep-engine/src/connmap.h:479 (ep.so+0x0000002276ee) #1 EventuallyPersistentEngine::doDcpStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4144 (ep.so+0x0000001f8ee7) #2 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4548 (ep.so+0x0000001fd99d) #3 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #4 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #5 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #6 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4090 (ep_testsuite.so+0x0000000dba6b) #7 test_dcp_agg_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4654 (ep_testsuite.so+0x0000000b3852) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 2 at 0x7d840001dcc2 by thread T9: #0 DcpConnMap::decrNumActiveSnoozingBackfills() /root/manu/ep-engine/src/connmap.cc:1259 (ep.so+0x0000000fb6e4) #1 BackfillManager::backfill() /root/manu/ep-engine/src/dcp/backfill-manager.cc:251 (ep.so+0x00000011bb83) #2 BackfillManagerTask::run() /root/manu/ep-engine/src/dcp/backfill-manager.cc:43 (ep.so+0x00000011b25b) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 4304 at 0x7d840001cc00 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2112 (ep.so+0x0000001e81cc) #2 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #3 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #4 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #5 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #6 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M17332 (0x7d280000ef00) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:233 (engine_testapp+0x0000000c0d87) #4 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #5 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4090 (ep_testsuite.so+0x0000000dba6b) #6 test_dcp_agg_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4654 (ep_testsuite.so+0x0000000b3852) #7 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #8 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T9 'mc:auxio_8' (tid=24066, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:492 (ep.so+0x0000002538a2) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/connmap.h:479 DcpConnMap::getNumActiveSnoozingBackfills() const ================== ================== WARNING: ThreadSanitizer: data race (pid=24055) Read of size 8 at 0x7d480000aef8 by main thread (mutexes: write M17601, write M1033, write M17585): #0 void STATWRITER_NAMESPACE::add_casted_stat(char const*, unsigned long const&, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/statwriter.h:45 (ep.so+0x0000000c7309) #1 ActiveStream::addStats(void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/dcp/stream.cc:477 (ep.so+0x000000163ea9) #2 DcpProducer::addStats(void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/dcp/producer.cc:602 (ep.so+0x00000014df2e) #3 ConnStatBuilder::operator()(SingleThreadedRCPtr&) /root/manu/ep-engine/src/ep_engine.cc:3875 (ep.so+0x000000231fc4) #4 ConnStatBuilder std::for_each >, ConnStatBuilder>(std::_List_iterator >, std::_List_iterator >, ConnStatBuilder) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_algo.h:4417 (ep.so+0x000000231e65) #5 void ConnMap::each_UNLOCKED(ConnStatBuilder) /root/manu/ep-engine/src/connmap.h:148 (ep.so+0x000000231dcd) #6 void ConnMap::each(ConnStatBuilder) /root/manu/ep-engine/src/connmap.h:140 (ep.so+0x000000226d6e) #7 EventuallyPersistentEngine::doDcpStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4128 (ep.so+0x0000001f8c2e) #8 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4548 (ep.so+0x0000001fd99d) #9 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #10 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #11 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #12 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4085 (ep_testsuite.so+0x0000000db8b2) #13 test_dcp_agg_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4654 (ep_testsuite.so+0x0000000b3852) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d480000aef8 by thread T9 (mutexes: write M170992870075981096, write M17590): #0 ActiveStream::backfillReceived(Item*, backfill_source_t) /root/manu/ep-engine/src/dcp/stream.cc:287 (ep.so+0x000000161acd) #1 CacheCallback::callback(CacheLookup&) /root/manu/ep-engine/src/dcp/backfill.cc:66 (ep.so+0x0000001247fc) #2 CouchKVStore::recordDbDump(_db*, _docinfo*, void*) /root/manu/ep-engine/src/couch-kvstore/couch-kvstore.cc:1658 (ep.so+0x00000035daa9) #3 recordDbDumpC(_db*, _docinfo*, void*) /root/manu/ep-engine/src/couch-kvstore/couch-kvstore.cc:66 (ep.so+0x00000035bfa0) #4 lookup_callback(couchfile_lookup_request*, _sized_buf const*, _sized_buf const*) /root/manu/couchstore/src/couch_db.cc:767 (libcouchstore.so+0x00000001a3a3) #5 btree_lookup_inner(couchfile_lookup_request*, unsigned long, int, int) /root/manu/couchstore/src/btree_read.cc:99 (libcouchstore.so+0x000000013590) #6 btree_lookup_inner(couchfile_lookup_request*, unsigned long, int, int) /root/manu/couchstore/src/btree_read.cc:69 (libcouchstore.so+0x000000012ea5) #7 btree_lookup /root/manu/couchstore/src/btree_read.cc:131 (libcouchstore.so+0x00000001264b) #8 couchstore_changes_since /root/manu/couchstore/src/couch_db.cc:812 (libcouchstore.so+0x000000019c4a) #9 CouchKVStore::scan(ScanContext*) /root/manu/ep-engine/src/couch-kvstore/couch-kvstore.cc:1268 (ep.so+0x00000035bc85) #10 DCPBackfill::scan() /root/manu/ep-engine/src/dcp/backfill.cc:193 (ep.so+0x0000001262fa) #11 DCPBackfill::run() /root/manu/ep-engine/src/dcp/backfill.cc:118 (ep.so+0x000000125823) #12 BackfillManager::backfill() /root/manu/ep-engine/src/dcp/backfill-manager.cc:240 (ep.so+0x00000011ba36) #13 BackfillManagerTask::run() /root/manu/ep-engine/src/dcp/backfill-manager.cc:43 (ep.so+0x00000011b25b) #14 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #15 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #16 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 368 at 0x7d480000ae00 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 DcpProducer::streamRequest(unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/dcp/producer.cc:218 (ep.so+0x000000148c9e) #2 EvpDcpStreamReq(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1542 (ep.so+0x0000001e52d3) #3 mock_dcp_stream_req(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:549 (engine_testapp+0x0000000c33a1) #4 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4069 (ep_testsuite.so+0x0000000db4c7) #5 test_dcp_agg_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4654 (ep_testsuite.so+0x0000000b3852) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M17601 (0x7d280000edc0) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:233 (engine_testapp+0x0000000c0d87) #4 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #5 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4085 (ep_testsuite.so+0x0000000db8b2) #6 test_dcp_agg_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4654 (ep_testsuite.so+0x0000000b3852) #7 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #8 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M1033 (0x7d840001cc50) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 ConnMap /root/manu/ep-engine/src/connmap.cc:183 (ep.so+0x0000000ebf0a) #4 DcpConnMap /root/manu/ep-engine/src/connmap.cc:946 (ep.so+0x0000000f6fd5) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2112 (ep.so+0x0000001e81ef) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M17585 (0x7d4c00009e08) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 Producer /root/manu/ep-engine/src/tapconnection.h:788 (ep.so+0x000000150c6b) #4 DcpProducer /root/manu/ep-engine/src/dcp/producer.cc:50 (ep.so+0x000000146c40) #5 DcpConnMap::newProducer(void const*, std::string const&, bool) /root/manu/ep-engine/src/connmap.cc:1032 (ep.so+0x0000000f8686) #6 EventuallyPersistentEngine::dcpOpen(void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:6169 (ep.so+0x000000210157) #7 EvpDcpOpen(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:1491 (ep.so+0x0000001e49f5) #8 mock_dcp_open(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:488 (engine_testapp+0x0000000c2953) #9 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4056 (ep_testsuite.so+0x0000000db083) #10 test_dcp_agg_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4654 (ep_testsuite.so+0x0000000b3852) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M170992870075981096 is already destroyed. Mutex M17590 (0x7d480000ae68) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 Stream /root/manu/ep-engine/src/dcp/stream.cc:53 (ep.so+0x00000015d400) #4 ActiveStream /root/manu/ep-engine/src/dcp/stream.cc:142 (ep.so+0x00000015e7d3) #5 DcpProducer::streamRequest(unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/dcp/producer.cc:218 (ep.so+0x000000148dfa) #6 EvpDcpStreamReq(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1542 (ep.so+0x0000001e52d3) #7 mock_dcp_stream_req(engine_interface*, void const*, unsigned int, unsigned int, unsigned short, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long*, ENGINE_ERROR_CODE (*)(vbucket_failover_t*, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:549 (engine_testapp+0x0000000c33a1) #8 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4069 (ep_testsuite.so+0x0000000db4c7) #9 test_dcp_agg_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:4654 (ep_testsuite.so+0x0000000b3852) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T9 'mc:auxio_8' (tid=24066, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:492 (ep.so+0x0000002538a2) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/statwriter.h:45 void STATWRITER_NAMESPACE::add_casted_stat(char const*, unsigned long const&, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) ================== ================== WARNING: ThreadSanitizer: data race (pid=24055) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24067, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24055) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24067, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24055) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=24063, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 6 warnings ================== WARNING: ThreadSanitizer: data race (pid=24110) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24122, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24110) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24122, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24110) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) As if synchronized via sleep: #0 usleep :0 (engine_testapp+0x000000050d01) #1 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:47 (ep.so+0x000000274a67) #2 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #3 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #4 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #5 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #6 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #7 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=24118, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=24228) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24240, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24228) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=24235, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=24246) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24258, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24246) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24258, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24246) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=24256, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24246) Write of size 8 at 0x7d140000e448 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e448 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e420 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=24254, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=24256, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=24264) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24276, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24264) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=24273, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=24282) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24294, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24282) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=24291, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=24300) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M15406, write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wake() /root/manu/ep-engine/src/flusher.cc:156 (ep.so+0x0000002747c2) #5 EventuallyPersistentStore::wakeUpFlusher() /root/manu/ep-engine/src/ep.cc:566 (ep.so+0x0000001816c6) #6 EventuallyPersistentEngine::handleCheckpointCmds(void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:5029 (ep.so+0x000000205e66) #7 processUnknownCommand(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1233 (ep.so+0x0000002147f5) #8 EvpUnknownCommand(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1383 (ep.so+0x0000001e3215) #9 mock_unknown_command(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:380 (engine_testapp+0x0000000c14c2) #10 createCheckpoint(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_test_apis.cc:309 (ep_testsuite.so+0x0000001106cb) #11 test_failover_scenario_with_dcp(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5277 (ep_testsuite.so+0x0000000b86ba) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M15406 (0x7d280000efa0) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 mock_unknown_command(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:374 (engine_testapp+0x0000000c1342) #4 createCheckpoint(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_test_apis.cc:309 (ep_testsuite.so+0x0000001106cb) #5 test_failover_scenario_with_dcp(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5277 (ep_testsuite.so+0x0000000b86ba) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=24307, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24300) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M15406, write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wake() /root/manu/ep-engine/src/flusher.cc:156 (ep.so+0x0000002747c2) #5 EventuallyPersistentStore::wakeUpFlusher() /root/manu/ep-engine/src/ep.cc:566 (ep.so+0x0000001816c6) #6 EventuallyPersistentEngine::handleCheckpointCmds(void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:5029 (ep.so+0x000000205e66) #7 processUnknownCommand(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1233 (ep.so+0x0000002147f5) #8 EvpUnknownCommand(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1383 (ep.so+0x0000001e3215) #9 mock_unknown_command(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:380 (engine_testapp+0x0000000c14c2) #10 createCheckpoint(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_test_apis.cc:309 (ep_testsuite.so+0x0000001106cb) #11 test_failover_scenario_with_dcp(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5277 (ep_testsuite.so+0x0000000b86ba) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e998 by thread T8: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:182 (ep.so+0x000000275933) #2 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M15406 (0x7d280000efa0) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 mock_unknown_command(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:374 (engine_testapp+0x0000000c1342) #4 createCheckpoint(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_test_apis.cc:309 (ep_testsuite.so+0x0000001106cb) #5 test_failover_scenario_with_dcp(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5277 (ep_testsuite.so+0x0000000b86ba) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=24310, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24300) Write of size 8 at 0x7d680001f678 by thread T5 (mutexes: write M11108, write M14461): #0 VBucket::notifyCheckpointPersisted(EventuallyPersistentEngine&, unsigned long, bool) /root/manu/ep-engine/src/vbucket.cc:356 (ep.so+0x0000002fddee) #1 EventuallyPersistentStore::flushVBucket(unsigned short) /root/manu/ep-engine/src/ep.cc:3288 (ep.so+0x00000019cdde) #2 Flusher::flushVB() /root/manu/ep-engine/src/flusher.cc:297 (ep.so+0x0000002768d9) #3 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:176 (ep.so+0x000000275810) #4 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #5 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #6 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #7 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous read of size 8 at 0x7d680001f678 by main thread (mutexes: write M2190857354491260832): #0 VBucket::getHighPriorityChkSize() /root/manu/ep-engine/src/vbucket.cc:401 (ep.so+0x0000002fe6be) #1 VBucketCountVisitor::visitBucket(RCPtr&) /root/manu/ep-engine/src/ep_engine.cc:3020 (ep.so+0x0000001ee3a2) #2 VBucketCountAggregator::visitBucket(RCPtr&) /root/manu/ep-engine/src/ep_engine.cc:3057 (ep.so+0x0000001eece1) #3 EventuallyPersistentStore::visit(VBucketVisitor&) /root/manu/ep-engine/src/ep.cc:3673 (ep.so+0x000000188064) #4 EventuallyPersistentEngine::doEngineStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:3083 (ep.so+0x0000001eef77) #5 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4538 (ep.so+0x0000001fd68a) #6 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #7 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #8 get_int_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:990 (ep_testsuite.so+0x000000111b06) #9 wait_for_flusher_to_settle(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_test_apis.cc:1189 (ep_testsuite.so+0x00000011c074) #10 test_failover_scenario_with_dcp(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5276 (ep_testsuite.so+0x0000000b8685) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Location is heap block of size 1328 at 0x7d680001f200 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::setVBucketState(unsigned short, vbucket_state_t, bool, bool) /root/manu/ep-engine/src/ep.cc:1292 (ep.so+0x000000189b06) #2 EventuallyPersistentEngine::setVBucketState(unsigned short, vbucket_state_t, bool) /root/manu/ep-engine/src/ep_engine.h:715 (ep.so+0x00000024a7a2) #3 setVBucket(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:878 (ep.so+0x000000217458) #4 processUnknownCommand(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1172 (ep.so+0x00000021400a) #5 EvpUnknownCommand(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1383 (ep.so+0x0000001e3215) #6 mock_unknown_command(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:380 (engine_testapp+0x0000000c14c2) #7 set_vbucket_state(engine_interface*, engine_interface_v1*, unsigned short, vbucket_state_t) /root/manu/ep-engine/tests/ep_test_apis.cc:607 (ep_testsuite.so+0x0000001149a3) #8 test_setup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite_common.cc:146 (ep_testsuite.so+0x0000001094b7) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1085 (engine_testapp+0x0000000bd5fb) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11108 (0x7dc400000010) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:304 (ep.so+0x00000017b7a0) #4 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #5 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #6 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #7 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M14461 (0x7d680001f630) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 VBucket /root/manu/ep-engine/src/vbucket.h:188 (ep.so+0x0000001aab38) #4 EventuallyPersistentStore::setVBucketState(unsigned short, vbucket_state_t, bool, bool) /root/manu/ep-engine/src/ep.cc:1292 (ep.so+0x000000189c83) #5 EventuallyPersistentEngine::setVBucketState(unsigned short, vbucket_state_t, bool) /root/manu/ep-engine/src/ep_engine.h:715 (ep.so+0x00000024a7a2) #6 setVBucket(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:878 (ep.so+0x000000217458) #7 processUnknownCommand(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1172 (ep.so+0x00000021400a) #8 EvpUnknownCommand(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1383 (ep.so+0x0000001e3215) #9 mock_unknown_command(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:380 (engine_testapp+0x0000000c14c2) #10 set_vbucket_state(engine_interface*, engine_interface_v1*, unsigned short, vbucket_state_t) /root/manu/ep-engine/tests/ep_test_apis.cc:607 (ep_testsuite.so+0x0000001149a3) #11 test_setup(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite_common.cc:146 (ep_testsuite.so+0x0000001094b7) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1085 (engine_testapp+0x0000000bd5fb) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M2190857354491260832 is already destroyed. Thread T5 'mc:writer_4' (tid=24307, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/vbucket.cc:356 VBucket::notifyCheckpointPersisted(EventuallyPersistentEngine&, unsigned long, bool) ================== ================== WARNING: ThreadSanitizer: data race (pid=24300) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24312, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24300) Write of size 8 at 0x7d1400018f88 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400018f88 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400018f60 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=24308, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=24319) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24331, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24319) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24331, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24319) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=24326, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=24337) Write of size 8 at 0x7d140000e218 by main thread (mutexes: write M14618, write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 DcpConsumer::mutation(unsigned int, void const*, unsigned short, void const*, unsigned int, unsigned long, unsigned short, unsigned int, unsigned char, unsigned int, unsigned long, unsigned long, unsigned int, unsigned char, void const*, unsigned short) /root/manu/ep-engine/src/dcp/consumer.cc:284 (ep.so+0x00000012c59a) #5 EvpDcpMutation(engine_interface*, void const*, unsigned int, void const*, unsigned short, void const*, unsigned int, unsigned long, unsigned short, unsigned int, unsigned char, unsigned long, unsigned long, unsigned int, unsigned int, void const*, unsigned short, unsigned char) /root/manu/ep-engine/src/ep_engine.cc:1627 (ep.so+0x0000001e5d66) #6 mock_dcp_mutation(engine_interface*, void const*, unsigned int, void const*, unsigned short, void const*, unsigned int, unsigned long, unsigned short, unsigned int, unsigned char, unsigned long, unsigned long, unsigned int, unsigned int, void const*, unsigned short, unsigned char) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:618 (engine_testapp+0x0000000c4120) #7 test_consumer_backoff_stat(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5391 (ep_testsuite.so+0x0000000b9de2) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e218 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 Processer::run() /root/manu/ep-engine/src/dcp/consumer.cc:63 (ep.so+0x000000128878) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 72 at 0x7d140000e1f0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 DcpConsumer /root/manu/ep-engine/src/dcp/consumer.cc:99 (ep.so+0x000000129710) #2 DcpConnMap::newConsumer(void const*, std::string const&) /root/manu/ep-engine/src/connmap.cc:971 (ep.so+0x0000000f7901) #3 EventuallyPersistentEngine::dcpOpen(void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:6173 (ep.so+0x00000021027d) #4 EvpDcpOpen(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:1491 (ep.so+0x0000001e49f5) #5 mock_dcp_open(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:488 (engine_testapp+0x0000000c2953) #6 test_consumer_backoff_stat(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5373 (ep_testsuite.so+0x0000000b98be) #7 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #8 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M14618 (0x7d280000efa0) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 test_consumer_backoff_stat(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5363 (ep_testsuite.so+0x0000000b96ae) #4 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #5 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24349, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24337) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24349, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24337) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=24345, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=24357) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24369, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24357) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24369, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24357) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=24367, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=24375) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24387, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24375) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=24384, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24375) Write of size 8 at 0x7d1400002508 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400002508 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d14000024e0 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=24385, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=24383, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24375) Write of size 8 at 0x7d1400002648 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400002648 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400002620 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=24382, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=24383, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=24393) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #12 test_dcp_crash_reconnect_full(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5196 (ep_testsuite.so+0x0000000ba207) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=24402, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24393) Read of size 8 at 0x7d140000c738 by thread T17: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:156 (ep.so+0x00000026bef2) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d140000c738 by thread T18: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:182 (ep.so+0x000000275933) #2 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000c710 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #11 test_dcp_crash_reconnect_full(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5196 (ep_testsuite.so+0x0000000ba207) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T17 'mc:writer_6' (tid=24418, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #13 test_dcp_crash_reconnect_full(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5196 (ep_testsuite.so+0x0000000ba207) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=24419, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #13 test_dcp_crash_reconnect_full(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5196 (ep_testsuite.so+0x0000000ba207) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/executorthread.cc:156 ExecutorThread::run() ================== ================== WARNING: ThreadSanitizer: data race (pid=24393) Write of size 8 at 0x7d140000dc78 by main thread (mutexes: write M31030, write M31046): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000dc78 by thread T20: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000dc50 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #8 test_dcp_crash_reconnect_full(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5196 (ep_testsuite.so+0x0000000ba207) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M31030 (0x7d500001c920) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #13 test_dcp_crash_reconnect_full(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5196 (ep_testsuite.so+0x0000000ba207) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M31046 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #14 test_dcp_crash_reconnect_full(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5196 (ep_testsuite.so+0x0000000ba207) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=24423, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #13 test_dcp_crash_reconnect_full(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5196 (ep_testsuite.so+0x0000000ba207) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24393) Write of size 8 at 0x7d14000077d8 by main thread (mutexes: write M31030, write M31043): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000077d8 by thread T15: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d14000077b0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #11 test_dcp_crash_reconnect_full(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5196 (ep_testsuite.so+0x0000000ba207) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M31030 (0x7d500001c920) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #13 test_dcp_crash_reconnect_full(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5196 (ep_testsuite.so+0x0000000ba207) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M31043 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #14 test_dcp_crash_reconnect_full(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5196 (ep_testsuite.so+0x0000000ba207) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T15 'mc:writer_4' (tid=24416, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #13 test_dcp_crash_reconnect_full(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5196 (ep_testsuite.so+0x0000000ba207) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24393) Write of size 8 at 0x7d140000ddb8 by main thread (mutexes: write M31030, write M31043): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000ddb8 by thread T15: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000dd90 allocated by thread T15: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M31030 (0x7d500001c920) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #13 test_dcp_crash_reconnect_full(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5196 (ep_testsuite.so+0x0000000ba207) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M31043 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #14 test_dcp_crash_reconnect_full(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5196 (ep_testsuite.so+0x0000000ba207) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T15 'mc:writer_4' (tid=24416, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #13 test_dcp_crash_reconnect_full(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5196 (ep_testsuite.so+0x0000000ba207) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=24449) Write of size 8 at 0x7d140000e948 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #12 test_dcp_crash_reconnect_partial(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5202 (ep_testsuite.so+0x0000000ba29a) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e948 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e920 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=24485, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24449) Write of size 8 at 0x7d140000dfe8 by main thread (mutexes: write M31000, write M31016): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000dfe8 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:53 (ep.so+0x0000002e8f7a) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000dfc0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #8 test_dcp_crash_reconnect_partial(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5202 (ep_testsuite.so+0x0000000ba29a) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M31000 (0x7d500001c920) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #13 test_dcp_crash_reconnect_partial(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5202 (ep_testsuite.so+0x0000000ba29a) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M31016 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #14 test_dcp_crash_reconnect_partial(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5202 (ep_testsuite.so+0x0000000ba29a) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=24517, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #13 test_dcp_crash_reconnect_partial(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5202 (ep_testsuite.so+0x0000000ba29a) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24449) Write of size 8 at 0x7d140000ddb8 by main thread (mutexes: write M31000, write M31016): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000ddb8 by thread T20: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000dd90 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #8 test_dcp_crash_reconnect_partial(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5202 (ep_testsuite.so+0x0000000ba29a) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M31000 (0x7d500001c920) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #13 test_dcp_crash_reconnect_partial(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5202 (ep_testsuite.so+0x0000000ba29a) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M31016 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #14 test_dcp_crash_reconnect_partial(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5202 (ep_testsuite.so+0x0000000ba29a) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=24517, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #13 test_dcp_crash_reconnect_partial(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5202 (ep_testsuite.so+0x0000000ba29a) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24449) Write of size 8 at 0x7d14000077d8 by main thread (mutexes: write M31000, write M31013): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000077d8 by thread T16: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d14000077b0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #11 test_dcp_crash_reconnect_partial(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5202 (ep_testsuite.so+0x0000000ba29a) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M31000 (0x7d500001c920) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #13 test_dcp_crash_reconnect_partial(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5202 (ep_testsuite.so+0x0000000ba29a) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M31013 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #14 test_dcp_crash_reconnect_partial(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5202 (ep_testsuite.so+0x0000000ba29a) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T16 'mc:writer_5' (tid=24509, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #13 test_dcp_crash_reconnect_partial(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5202 (ep_testsuite.so+0x0000000ba29a) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24449) Write of size 8 at 0x7d140000e768 by main thread (mutexes: write M31000, write M31013): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e768 by thread T18: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e740 allocated by thread T16: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M31000 (0x7d500001c920) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #13 test_dcp_crash_reconnect_partial(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5202 (ep_testsuite.so+0x0000000ba29a) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M31013 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #14 test_dcp_crash_reconnect_partial(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5202 (ep_testsuite.so+0x0000000ba29a) #15 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #16 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=24511, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #13 test_dcp_crash_reconnect_partial(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5202 (ep_testsuite.so+0x0000000ba29a) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T16 'mc:writer_5' (tid=24509, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_dcp_reconnect(engine_interface*, engine_interface_v1*, bool, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:5160 (ep_testsuite.so+0x0000000e02d3) #13 test_dcp_crash_reconnect_partial(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5202 (ep_testsuite.so+0x0000000ba29a) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=24518) Write of size 8 at 0x7d5000016908 by thread T5 (mutexes: write M16536): #0 PassiveStream::reconnectStream(RCPtr&, unsigned int, unsigned long) /root/manu/ep-engine/src/dcp/stream.cc:1093 (ep.so+0x00000016a3c4) #1 DcpConsumer::doRollback(unsigned int, unsigned short, unsigned long) /root/manu/ep-engine/src/dcp/consumer.cc:676 (ep.so+0x0000001310c4) #2 RollbackTask::run() /root/manu/ep-engine/src/dcp/consumer.cc:574 (ep.so+0x000000130bb5) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous read of size 8 at 0x7d5000016908 by main thread: [failed to restore the stack] Location is heap block of size 456 at 0x7d5000016800 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 DcpConsumer::addStream(unsigned int, unsigned short, unsigned int) /root/manu/ep-engine/src/dcp/consumer.cc:159 (ep.so+0x00000012ab19) #2 DcpConnMap::addPassiveStream(ConnHandler*, unsigned int, unsigned short, unsigned int) /root/manu/ep-engine/src/connmap.cc:1011 (ep.so+0x0000000f812d) #3 EventuallyPersistentEngine::dcpAddStream(void const*, unsigned int, unsigned short, unsigned int) /root/manu/ep-engine/src/ep_engine.cc:6190 (ep.so+0x000000210530) #4 EvpDcpAddStream(engine_interface*, void const*, unsigned int, unsigned short, unsigned int) /root/manu/ep-engine/src/ep_engine.cc:1503 (ep.so+0x0000001e4b57) #5 mock_dcp_add_stream(engine_interface*, void const*, unsigned int, unsigned short, unsigned int) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:509 (engine_testapp+0x0000000c2c32) #6 add_stream_for_consumer(engine_interface*, engine_interface_v1*, void const*, unsigned int, unsigned short, unsigned int, protocol_binary_response_status, unsigned long, unsigned long) /root/manu/ep-engine/tests/ep_testsuite.cc:5019 (ep_testsuite.so+0x0000000d9813) #7 test_rollback_to_zero(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5431 (ep_testsuite.so+0x0000000baa50) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M16536 (0x7d5000016868) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 Stream /root/manu/ep-engine/src/dcp/stream.cc:53 (ep.so+0x00000015d400) #4 PassiveStream /root/manu/ep-engine/src/dcp/stream.cc:992 (ep.so+0x000000168029) #5 DcpConsumer::addStream(unsigned int, unsigned short, unsigned int) /root/manu/ep-engine/src/dcp/consumer.cc:159 (ep.so+0x00000012acb8) #6 DcpConnMap::addPassiveStream(ConnHandler*, unsigned int, unsigned short, unsigned int) /root/manu/ep-engine/src/connmap.cc:1011 (ep.so+0x0000000f812d) #7 EventuallyPersistentEngine::dcpAddStream(void const*, unsigned int, unsigned short, unsigned int) /root/manu/ep-engine/src/ep_engine.cc:6190 (ep.so+0x000000210530) #8 EvpDcpAddStream(engine_interface*, void const*, unsigned int, unsigned short, unsigned int) /root/manu/ep-engine/src/ep_engine.cc:1503 (ep.so+0x0000001e4b57) #9 mock_dcp_add_stream(engine_interface*, void const*, unsigned int, unsigned short, unsigned int) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:509 (engine_testapp+0x0000000c2c32) #10 add_stream_for_consumer(engine_interface*, engine_interface_v1*, void const*, unsigned int, unsigned short, unsigned int, protocol_binary_response_status, unsigned long, unsigned long) /root/manu/ep-engine/tests/ep_testsuite.cc:5019 (ep_testsuite.so+0x0000000d9813) #11 test_rollback_to_zero(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5431 (ep_testsuite.so+0x0000000baa50) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=24557, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/dcp/stream.cc:1093 PassiveStream::reconnectStream(RCPtr&, unsigned int, unsigned long) ================== ================== WARNING: ThreadSanitizer: data race (pid=24518) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24562, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24518) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=24560, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24518) Write of size 8 at 0x7d140001de98 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001de98 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140001de70 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=24560, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=24569) Write of size 8 at 0x7d140000e678 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5467 (ep_testsuite.so+0x0000000bb1f0) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e678 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e650 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24581, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24569) Write of size 8 at 0x7d140000e5d8 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5467 (ep_testsuite.so+0x0000000bb1f0) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e5d8 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e5b0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24581, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24569) Write of size 8 at 0x7d140000ea38 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5467 (ep_testsuite.so+0x0000000bb1f0) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000ea38 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000ea10 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=24577, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24569) Read of size 2 at 0x7d08000c3ab0 by main thread (mutexes: write M33624): #0 DcpConsumer::getNextItem() /root/manu/ep-engine/src/dcp/consumer.cc:772 (ep.so+0x00000013071a) #1 DcpConsumer::step(dcp_message_producers*) /root/manu/ep-engine/src/dcp/consumer.cc:516 (ep.so+0x00000012e982) #2 EvpDcpStep(engine_interface*, void const*, dcp_message_producers*) /root/manu/ep-engine/src/ep_engine.cc:1475 (ep.so+0x0000001e482a) #3 mock_dcp_step(engine_interface*, void const*, dcp_message_producers*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:476 (engine_testapp+0x0000000c26f8) #4 dcp_step(engine_interface*, engine_interface_v1*, void const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1219 (ep_testsuite.so+0x00000011c5a3) #5 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5526 (ep_testsuite.so+0x0000000bbf1f) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d08000c3ab0 by thread T18: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 __gnu_cxx::new_allocator >::allocate(unsigned long, void const*) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/ext/new_allocator.h:104 (ep.so+0x00000013c067) #2 std::_List_base >::_M_get_node() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_list.h:334 (ep.so+0x00000013bdf7) #3 std::_List_node* std::list >::_M_create_node(unsigned short const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_list.h:502 (ep.so+0x00000013bc17) #4 void std::list >::_M_insert(std::_List_iterator, unsigned short const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_list.h:1561 (ep.so+0x00000013bb50) #5 std::list >::push_back(unsigned short const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_list.h:1016 (ep.so+0x000000134088) #6 DcpConsumer::notifyStreamReady(unsigned short) /root/manu/ep-engine/src/dcp/consumer.cc:811 (ep.so+0x0000001330bc) #7 PassiveStream::reconnectStream(RCPtr&, unsigned int, unsigned long) /root/manu/ep-engine/src/dcp/stream.cc:1100 (ep.so+0x00000016a5e6) #8 DcpConsumer::doRollback(unsigned int, unsigned short, unsigned long) /root/manu/ep-engine/src/dcp/consumer.cc:676 (ep.so+0x0000001310c4) #9 RollbackTask::run() /root/manu/ep-engine/src/dcp/consumer.cc:574 (ep.so+0x000000130bb5) #10 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #11 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #12 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) As if synchronized via sleep: #0 usleep :0 (engine_testapp+0x000000050d01) #1 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5527 (ep_testsuite.so+0x0000000bbf29) #2 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #3 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Location is heap block of size 24 at 0x7d08000c3aa0 allocated by thread T18: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 __gnu_cxx::new_allocator >::allocate(unsigned long, void const*) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/ext/new_allocator.h:104 (ep.so+0x00000013c067) #2 std::_List_base >::_M_get_node() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_list.h:334 (ep.so+0x00000013bdf7) #3 std::_List_node* std::list >::_M_create_node(unsigned short const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_list.h:502 (ep.so+0x00000013bc17) #4 void std::list >::_M_insert(std::_List_iterator, unsigned short const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_list.h:1561 (ep.so+0x00000013bb50) #5 std::list >::push_back(unsigned short const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_list.h:1016 (ep.so+0x000000134088) #6 DcpConsumer::notifyStreamReady(unsigned short) /root/manu/ep-engine/src/dcp/consumer.cc:811 (ep.so+0x0000001330bc) #7 PassiveStream::reconnectStream(RCPtr&, unsigned int, unsigned long) /root/manu/ep-engine/src/dcp/stream.cc:1100 (ep.so+0x00000016a5e6) #8 DcpConsumer::doRollback(unsigned int, unsigned short, unsigned long) /root/manu/ep-engine/src/dcp/consumer.cc:676 (ep.so+0x0000001310c4) #9 RollbackTask::run() /root/manu/ep-engine/src/dcp/consumer.cc:574 (ep.so+0x000000130bb5) #10 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #11 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #12 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M33624 (0x7d5000017518) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 DcpConsumer /root/manu/ep-engine/src/dcp/consumer.cc:83 (ep.so+0x000000129223) #4 DcpConnMap::newConsumer(void const*, std::string const&) /root/manu/ep-engine/src/connmap.cc:971 (ep.so+0x0000000f7901) #5 EventuallyPersistentEngine::dcpOpen(void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:6173 (ep.so+0x00000021027d) #6 EvpDcpOpen(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:1491 (ep.so+0x0000001e49f5) #7 mock_dcp_open(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:488 (engine_testapp+0x0000000c2953) #8 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5496 (ep_testsuite.so+0x0000000bb8be) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=24595, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5467 (ep_testsuite.so+0x0000000bb1f0) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/dcp/consumer.cc:772 DcpConsumer::getNextItem() ================== ================== WARNING: ThreadSanitizer: data race (pid=24569) Write of size 8 at 0x7d08000c3aa0 by main thread (mutexes: write M33624): #0 operator delete(void*) :0 (engine_testapp+0x000000052e0b) #1 __gnu_cxx::new_allocator >::deallocate(std::_List_node*, unsigned long) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/ext/new_allocator.h:110 (ep.so+0x000000116f6f) #2 std::_List_base >::_M_put_node(std::_List_node*) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_list.h:338 (ep.so+0x000000116eda) #3 std::list >::_M_erase(std::_List_iterator) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_list.h:1577 (ep.so+0x000000138eae) #4 std::list >::pop_front() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_list.h:1002 (ep.so+0x0000001365a5) #5 DcpConsumer::getNextItem() /root/manu/ep-engine/src/dcp/consumer.cc:773 (ep.so+0x00000013074c) #6 DcpConsumer::step(dcp_message_producers*) /root/manu/ep-engine/src/dcp/consumer.cc:516 (ep.so+0x00000012e982) #7 EvpDcpStep(engine_interface*, void const*, dcp_message_producers*) /root/manu/ep-engine/src/ep_engine.cc:1475 (ep.so+0x0000001e482a) #8 mock_dcp_step(engine_interface*, void const*, dcp_message_producers*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:476 (engine_testapp+0x0000000c26f8) #9 dcp_step(engine_interface*, engine_interface_v1*, void const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1219 (ep_testsuite.so+0x00000011c5a3) #10 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5526 (ep_testsuite.so+0x0000000bbf1f) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d08000c3aa0 by thread T18: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 __gnu_cxx::new_allocator >::allocate(unsigned long, void const*) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/ext/new_allocator.h:104 (ep.so+0x00000013c067) #2 std::_List_base >::_M_get_node() /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_list.h:334 (ep.so+0x00000013bdf7) #3 std::_List_node* std::list >::_M_create_node(unsigned short const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_list.h:502 (ep.so+0x00000013bc17) #4 void std::list >::_M_insert(std::_List_iterator, unsigned short const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_list.h:1561 (ep.so+0x00000013bb50) #5 std::list >::push_back(unsigned short const&) /usr/bin/../lib/gcc/x86_64-linux-gnu/4.8/../../../../include/c++/4.8/bits/stl_list.h:1016 (ep.so+0x000000134088) #6 DcpConsumer::notifyStreamReady(unsigned short) /root/manu/ep-engine/src/dcp/consumer.cc:811 (ep.so+0x0000001330bc) #7 PassiveStream::reconnectStream(RCPtr&, unsigned int, unsigned long) /root/manu/ep-engine/src/dcp/stream.cc:1100 (ep.so+0x00000016a5e6) #8 DcpConsumer::doRollback(unsigned int, unsigned short, unsigned long) /root/manu/ep-engine/src/dcp/consumer.cc:676 (ep.so+0x0000001310c4) #9 RollbackTask::run() /root/manu/ep-engine/src/dcp/consumer.cc:574 (ep.so+0x000000130bb5) #10 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #11 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #12 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) As if synchronized via sleep: #0 usleep :0 (engine_testapp+0x000000050d01) #1 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5527 (ep_testsuite.so+0x0000000bbf29) #2 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #3 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M33624 (0x7d5000017518) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 DcpConsumer /root/manu/ep-engine/src/dcp/consumer.cc:83 (ep.so+0x000000129223) #4 DcpConnMap::newConsumer(void const*, std::string const&) /root/manu/ep-engine/src/connmap.cc:971 (ep.so+0x0000000f7901) #5 EventuallyPersistentEngine::dcpOpen(void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:6173 (ep.so+0x00000021027d) #6 EvpDcpOpen(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/ep-engine/src/ep_engine.cc:1491 (ep.so+0x0000001e49f5) #7 mock_dcp_open(engine_interface*, void const*, unsigned int, unsigned int, unsigned int, void*, unsigned short) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:488 (engine_testapp+0x0000000c2953) #8 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5496 (ep_testsuite.so+0x0000000bb8be) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=24595, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5467 (ep_testsuite.so+0x0000000bb1f0) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race ??:0 operator delete(void*) ================== ================== WARNING: ThreadSanitizer: data race (pid=24569) Write of size 8 at 0x7d140000dbd8 by main thread (mutexes: write M29108, write M29124): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000dbd8 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000dbb0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5467 (ep_testsuite.so+0x0000000bb1f0) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M29108 (0x7d500001c320) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5467 (ep_testsuite.so+0x0000000bb1f0) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M29124 (0x7d480000b588) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5467 (ep_testsuite.so+0x0000000bb1f0) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=24597, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5467 (ep_testsuite.so+0x0000000bb1f0) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24569) Write of size 8 at 0x7d140000dc78 by main thread (mutexes: write M29108, write M29124): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000dc78 by thread T20: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000dc50 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5467 (ep_testsuite.so+0x0000000bb1f0) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M29108 (0x7d500001c320) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5467 (ep_testsuite.so+0x0000000bb1f0) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M29124 (0x7d480000b588) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5467 (ep_testsuite.so+0x0000000bb1f0) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=24597, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5467 (ep_testsuite.so+0x0000000bb1f0) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24569) Write of size 8 at 0x7d140000d818 by main thread (mutexes: write M29108, write M29121): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000d818 by thread T16: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000d7f0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5467 (ep_testsuite.so+0x0000000bb1f0) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M29108 (0x7d500001c320) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5467 (ep_testsuite.so+0x0000000bb1f0) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M29121 (0x7d480000b108) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5467 (ep_testsuite.so+0x0000000bb1f0) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T16 'mc:writer_5' (tid=24593, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5467 (ep_testsuite.so+0x0000000bb1f0) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24569) Write of size 8 at 0x7d140000c738 by main thread (mutexes: write M29108, write M29121): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000c738 by thread T18: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000c710 allocated by thread T16: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M29108 (0x7d500001c320) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5467 (ep_testsuite.so+0x0000000bb1f0) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M29121 (0x7d480000b108) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5467 (ep_testsuite.so+0x0000000bb1f0) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=24595, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5467 (ep_testsuite.so+0x0000000bb1f0) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T16 'mc:writer_5' (tid=24593, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5467 (ep_testsuite.so+0x0000000bb1f0) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24569) Write of size 8 at 0x7d1400002698 by main thread (mutexes: write M29108, write M29121): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400002698 by thread T16: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400002670 allocated by thread T16: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M29108 (0x7d500001c320) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5467 (ep_testsuite.so+0x0000000bb1f0) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M29121 (0x7d480000b108) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5467 (ep_testsuite.so+0x0000000bb1f0) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T16 'mc:writer_5' (tid=24593, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_chk_manager_rollback(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:5467 (ep_testsuite.so+0x0000000bb1f0) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 10 warnings ================== WARNING: ThreadSanitizer: data race (pid=24598) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24610, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24598) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=24606, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24598) Write of size 8 at 0x7d1400002738 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400002738 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400002710 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=24607, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=24616) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24628, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24616) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=24623, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=24634) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24646, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24634) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24646, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24634) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=24641, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24634) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=24641, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=24644, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24634) Write of size 8 at 0x7d1400004da8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400004da8 by thread T7: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400004d80 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=24643, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=24644, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=24652) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24664, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24652) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=24659, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=24670) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24682, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24670) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24682, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24670) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=24677, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=24688) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24700, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24688) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24700, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24688) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=24698, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=24706) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24718, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24706) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=24716, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=24724) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24736, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24724) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24736, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24724) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=24731, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=24742) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24754, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24742) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24754, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24742) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=24752, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24742) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=24752, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=24751, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24742) Write of size 8 at 0x7d140000e3f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e3f8 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e3d0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=24750, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=24751, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=24760) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24772, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24760) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=24768, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24760) Write of size 8 at 0x7d140001dee8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001dee8 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001dec0 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=24768, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=24778) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24790, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24778) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=24787, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24778) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=24786, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=24788, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24778) Write of size 8 at 0x7d1400009e48 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400009e48 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400009e20 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=24785, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=24788, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=24796) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24808, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24796) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=24803, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=24814) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24826, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24814) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=24822, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=24832) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24844, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24832) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=24839, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=24850) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24862, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24850) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24862, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24850) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=24860, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=24871) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24883, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24871) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=24878, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=24889) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_failover_log_dcp(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:14037 (ep_testsuite.so+0x0000000c81ec) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=24916, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24889) Read of size 2 at 0x7d840001c8c2 by main thread: #0 DcpConnMap::getNumActiveSnoozingBackfills() const /root/manu/ep-engine/src/connmap.h:479 (ep.so+0x0000002276ee) #1 EventuallyPersistentEngine::doDcpStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4144 (ep.so+0x0000001f8ee7) #2 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4548 (ep.so+0x0000001fd99d) #3 EventuallyPersistentStore::snapshotStats() /root/manu/ep-engine/src/ep.cc:1666 (ep.so+0x00000018dd63) #4 EventuallyPersistentEngine::destroy(bool) /root/manu/ep-engine/src/ep_engine.cc:2169 (ep.so+0x0000001e900a) #5 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:140 (ep.so+0x0000001e204c) #6 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #7 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 2 at 0x7d840001c8c2 by thread T19: #0 DcpConnMap::decrNumActiveSnoozingBackfills() /root/manu/ep-engine/src/connmap.cc:1259 (ep.so+0x0000000fb6e4) #1 BackfillManager::backfill() /root/manu/ep-engine/src/dcp/backfill-manager.cc:251 (ep.so+0x00000011bb83) #2 BackfillManagerTask::run() /root/manu/ep-engine/src/dcp/backfill-manager.cc:43 (ep.so+0x00000011b25b) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 4304 at 0x7d840001b800 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2112 (ep.so+0x0000001e81cc) #2 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #3 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #4 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #5 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #6 test_failover_log_dcp(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:14037 (ep_testsuite.so+0x0000000c81ec) #7 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #8 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T19 'mc:auxio_8' (tid=24964, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:492 (ep.so+0x0000002538a2) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_failover_log_dcp(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:14037 (ep_testsuite.so+0x0000000c81ec) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/connmap.h:479 DcpConnMap::getNumActiveSnoozingBackfills() const ================== ================== WARNING: ThreadSanitizer: data race (pid=24889) Write of size 8 at 0x7d140000d868 by main thread (mutexes: write M29154, write M29170): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000d868 by thread T20: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000d840 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_failover_log_dcp(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:14037 (ep_testsuite.so+0x0000000c81ec) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M29154 (0x7d500001c320) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_failover_log_dcp(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:14037 (ep_testsuite.so+0x0000000c81ec) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M29170 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_failover_log_dcp(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:14037 (ep_testsuite.so+0x0000000c81ec) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=24965, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_failover_log_dcp(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:14037 (ep_testsuite.so+0x0000000c81ec) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24889) Write of size 8 at 0x7d140000d4a8 by main thread (mutexes: write M29154, write M29167): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000d4a8 by thread T18: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000d480 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_failover_log_dcp(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:14037 (ep_testsuite.so+0x0000000c81ec) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M29154 (0x7d500001c320) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_failover_log_dcp(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:14037 (ep_testsuite.so+0x0000000c81ec) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M29167 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_failover_log_dcp(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:14037 (ep_testsuite.so+0x0000000c81ec) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=24963, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_failover_log_dcp(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:14037 (ep_testsuite.so+0x0000000c81ec) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=24966) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24978, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24966) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=24976, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24966) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=24975, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=24973, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24966) Write of size 8 at 0x7d140000e3f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e3f8 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e3d0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=24974, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=24973, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=24986) Read of size 2 at 0x7d840001dcc2 by main thread (mutexes: write M15612): #0 DcpConnMap::getNumActiveSnoozingBackfills() const /root/manu/ep-engine/src/connmap.h:479 (ep.so+0x0000002276ee) #1 EventuallyPersistentEngine::doDcpStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4144 (ep.so+0x0000001f8ee7) #2 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4548 (ep.so+0x0000001fd99d) #3 EvpGetStats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:213 (ep.so+0x0000001e2912) #4 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:239 (engine_testapp+0x0000000c0f2b) #5 get_ull_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1008 (ep_testsuite.so+0x0000001156c6) #6 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4095 (ep_testsuite.so+0x0000000dbc2a) #7 test_dcp_last_items_purged(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9942 (ep_testsuite.so+0x0000000ca1dc) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 2 at 0x7d840001dcc2 by thread T9: #0 DcpConnMap::decrNumActiveSnoozingBackfills() /root/manu/ep-engine/src/connmap.cc:1259 (ep.so+0x0000000fb6e4) #1 BackfillManager::backfill() /root/manu/ep-engine/src/dcp/backfill-manager.cc:251 (ep.so+0x00000011bb83) #2 BackfillManagerTask::run() /root/manu/ep-engine/src/dcp/backfill-manager.cc:43 (ep.so+0x00000011b25b) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 4304 at 0x7d840001cc00 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2112 (ep.so+0x0000001e81cc) #2 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #3 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #4 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #5 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #6 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M15612 (0x7d280000ee60) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 create_mock_cookie /root/manu/memcached/programs/engine_testapp/mock_server.c:405 (engine_testapp+0x0000000cd390) #3 mock_get_stats(engine_interface*, void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:233 (engine_testapp+0x0000000c0d87) #4 get_ull_stat(engine_interface*, engine_interface_v1*, char const*, char const*) /root/manu/ep-engine/tests/ep_test_apis.cc:1008 (ep_testsuite.so+0x0000001156c6) #5 dcp_stream(engine_interface*, engine_interface_v1*, char const*, void const*, unsigned short, unsigned int, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, int, int, int, int, bool, bool, unsigned char, bool, unsigned long*, bool) /root/manu/ep-engine/tests/ep_testsuite.cc:4095 (ep_testsuite.so+0x0000000dbc2a) #6 test_dcp_last_items_purged(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:9942 (ep_testsuite.so+0x0000000ca1dc) #7 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #8 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T9 'mc:auxio_8' (tid=24997, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:492 (ep.so+0x0000002538a2) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/connmap.h:479 DcpConnMap::getNumActiveSnoozingBackfills() const ================== ================== WARNING: ThreadSanitizer: data race (pid=24986) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24998, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24986) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=24998, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24986) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=24995, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=24986) Write of size 8 at 0x7d1400004ee8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400004ee8 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400004ec0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=24994, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=24995, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=25006) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25018, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25006) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25018, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25006) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=25015, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=25025) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25037, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25025) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25037, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25025) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=25032, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25025) Write of size 8 at 0x7d140000e2b8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e2b8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e290 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=25034, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=25032, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=25043) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25055, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25043) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25055, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25043) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=25050, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=25061) Read of size 8 at 0x7d140000e998 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:156 (ep.so+0x00000026bef2) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d140000e998 by thread T6: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:182 (ep.so+0x000000275933) #2 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=25068, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=25069, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/executorthread.cc:156 ExecutorThread::run() ================== ================== WARNING: ThreadSanitizer: data race (pid=25061) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25073, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25061) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=25070, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25061) Write of size 8 at 0x7d14000075f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000075f8 by thread T8: [failed to restore the stack] Location is heap block of size 80 at 0x7d14000075d0 allocated by thread T7: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=25071, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=25070, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=25079) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25091, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25079) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=25088, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=25097) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25109, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25097) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=25107, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=25115) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25127, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25115) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25127, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25115) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=25122, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=25133) Read of size 8 at 0x7fb60dfff5a8 by thread T12: #0 multi_del_with_meta(void*) /root/manu/ep-engine/tests/ep_testsuite.cc:13300 (ep_testsuite.so+0x0000000d86c8) #1 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7fb60dfff5a8 by thread T11 (mutexes: write M643589407512907680): #0 add_response /root/manu/ep-engine/tests/ep_test_apis.cc:78 (ep_testsuite.so+0x00000010d2a6) #1 add_response_set_del_meta(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*) /root/manu/ep-engine/tests/ep_test_apis.cc:122 (ep_testsuite.so+0x00000010dc8b) #2 sendResponse(bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*), void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*) /root/manu/ep-engine/src/ep_engine.cc:91 (ep.so+0x000000202b17) #3 EventuallyPersistentEngine::setWithMeta(void const*, protocol_binary_request_set_with_meta*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:5450 (ep.so+0x00000020a014) #4 processUnknownCommand(EventuallyPersistentEngine*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1254 (ep.so+0x000000214a20) #5 EvpUnknownCommand(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/ep-engine/src/ep_engine.cc:1383 (ep.so+0x0000001e3215) #6 mock_unknown_command(engine_interface*, void const*, protocol_binary_request_header*, bool (*)(void const*, unsigned short, void const*, unsigned char, void const*, unsigned int, unsigned char, unsigned short, unsigned long, void const*)) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:380 (engine_testapp+0x0000000c14c2) #7 set_with_meta(engine_interface*, engine_interface_v1*, char const*, unsigned long, char const*, unsigned long, unsigned int, ItemMetaData*, unsigned long, bool, unsigned char, bool, long, unsigned char, void const*) /root/manu/ep-engine/tests/ep_test_apis.cc:702 (ep_testsuite.so+0x00000011638a) #8 multi_set_with_meta(void*) /root/manu/ep-engine/tests/ep_testsuite.cc:13280 (ep_testsuite.so+0x0000000d8283) #9 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is global '' of size 0 at 0x000000000000 (ep_testsuite.so+0x00000039f5a8) Mutex M643589407512907680 is already destroyed. Thread T12 (tid=25147, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 cb_create_thread /root/manu/platform/src/cb_pthreads.c:35 (libplatform.so.0.1.0+0x000000004116) #3 test_multiple_set_delete_with_metas_full_eviction(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13350 (ep_testsuite.so+0x0000000cfd32) #4 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #5 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T11 (tid=25146, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 cb_create_thread /root/manu/platform/src/cb_pthreads.c:35 (libplatform.so.0.1.0+0x000000004116) #3 test_multiple_set_delete_with_metas_full_eviction(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13344 (ep_testsuite.so+0x0000000cfc05) #4 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #5 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/tests/ep_testsuite.cc:13300 multi_del_with_meta(void*) ================== ================== WARNING: ThreadSanitizer: data race (pid=25133) Write of size 8 at 0x7d1400010518 by main thread (mutexes: write M34960, write M34976): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400010518 by thread T22: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d14000104f0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_multiple_set_delete_with_metas_full_eviction(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13362 (ep_testsuite.so+0x0000000d0070) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M34960 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_multiple_set_delete_with_metas_full_eviction(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13362 (ep_testsuite.so+0x0000000d0070) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M34976 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_multiple_set_delete_with_metas_full_eviction(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13362 (ep_testsuite.so+0x0000000d0070) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T22 'mc:nonio_9' (tid=25162, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_multiple_set_delete_with_metas_full_eviction(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13362 (ep_testsuite.so+0x0000000d0070) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25133) Write of size 8 at 0x7d14000105b8 by main thread (mutexes: write M34960, write M34976): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d14000105b8 by thread T22: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400010590 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_multiple_set_delete_with_metas_full_eviction(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13362 (ep_testsuite.so+0x0000000d0070) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M34960 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_multiple_set_delete_with_metas_full_eviction(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13362 (ep_testsuite.so+0x0000000d0070) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M34976 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_multiple_set_delete_with_metas_full_eviction(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13362 (ep_testsuite.so+0x0000000d0070) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T22 'mc:nonio_9' (tid=25162, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_multiple_set_delete_with_metas_full_eviction(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13362 (ep_testsuite.so+0x0000000d0070) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25133) Write of size 8 at 0x7d1400010158 by main thread (mutexes: write M34960, write M34973): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400010158 by thread T18: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400010130 allocated by thread T19: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M34960 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_multiple_set_delete_with_metas_full_eviction(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13362 (ep_testsuite.so+0x0000000d0070) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M34973 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_multiple_set_delete_with_metas_full_eviction(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13362 (ep_testsuite.so+0x0000000d0070) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_5' (tid=25158, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_multiple_set_delete_with_metas_full_eviction(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13362 (ep_testsuite.so+0x0000000d0070) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T19 'mc:writer_6' (tid=25159, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_multiple_set_delete_with_metas_full_eviction(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13362 (ep_testsuite.so+0x0000000d0070) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25133) Write of size 8 at 0x7d140000b838 by main thread (mutexes: write M34960, write M34973): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000b838 by thread T20: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000b810 allocated by thread T19: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M34960 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_multiple_set_delete_with_metas_full_eviction(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13362 (ep_testsuite.so+0x0000000d0070) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M34973 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_multiple_set_delete_with_metas_full_eviction(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13362 (ep_testsuite.so+0x0000000d0070) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:writer_7' (tid=25160, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_multiple_set_delete_with_metas_full_eviction(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13362 (ep_testsuite.so+0x0000000d0070) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T19 'mc:writer_6' (tid=25159, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_multiple_set_delete_with_metas_full_eviction(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13362 (ep_testsuite.so+0x0000000d0070) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=25164) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25176, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25164) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25176, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25164) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=25171, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=25172, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25164) Write of size 8 at 0x7d1400009f38 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400009f38 by thread T8: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400009f10 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=25174, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=25172, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=25182) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25194, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25182) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25194, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25182) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=25189, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=25200) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25212, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25200) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25212, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25200) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=25210, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=25218) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25230, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25218) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=25226, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25218) Write of size 8 at 0x7d140001df38 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001df38 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001df10 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=25226, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=25236) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25248, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25236) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=25243, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=25254) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25266, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25254) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25266, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25254) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=25261, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=25272) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25284, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25272) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:53 (ep.so+0x0000002e8f7a) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25284, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25272) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=25279, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=25290) Write of size 8 at 0x7d540000fe88 by thread T7 (mutexes: write M11108): #0 EventuallyPersistentStore::flushVBucket(unsigned short) /root/manu/ep-engine/src/ep.cc:3261 (ep.so+0x00000019c870) #1 Flusher::flushVB() /root/manu/ep-engine/src/flusher.cc:297 (ep.so+0x0000002768d9) #2 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:176 (ep.so+0x000000275810) #3 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #4 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #5 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #6 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d540000fe88 by thread T8 (mutexes: write M11109): #0 EventuallyPersistentStore::flushVBucket(unsigned short) /root/manu/ep-engine/src/ep.cc:3261 (ep.so+0x00000019c870) #1 Flusher::flushVB() /root/manu/ep-engine/src/flusher.cc:297 (ep.so+0x0000002768d9) #2 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:176 (ep.so+0x000000275810) #3 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #4 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #5 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #6 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 616 at 0x7d540000fc80 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e884f) #2 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #3 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #4 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #5 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #6 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11108 (0x7dc400000010) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:304 (ep.so+0x00000017b7a0) #4 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #5 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #6 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #7 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11109 (0x7dc400000050) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:304 (ep.so+0x00000017b7a0) #4 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #5 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #6 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #7 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=25299, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=25300, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/ep.cc:3261 EventuallyPersistentStore::flushVBucket(unsigned short) ================== ================== WARNING: ThreadSanitizer: data race (pid=25290) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25302, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25290) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=25298, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25290) Write of size 8 at 0x7d1400009da8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400009da8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400009d80 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=25298, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=25297, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25290) Write of size 8 at 0x7d140000e178 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e178 by thread T8: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e150 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=25300, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=25297, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=25308) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25320, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25308) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=25315, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 2 warnings ================== WARNING: ThreadSanitizer: data race (pid=25326) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25338, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25326) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=25335, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25326) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=25336, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=25333, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25326) Write of size 8 at 0x7d140000e3f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e3f8 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000e3d0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=25334, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=25333, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 4 warnings ================== WARNING: ThreadSanitizer: data race (pid=25379) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e628 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25391, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25379) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #10 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e588 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25391, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25379) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #12 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=25389, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25379) Write of size 8 at 0x7d140000e3f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e3f8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e3d0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=25386, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=25389, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25379) Write of size 8 at 0x7d1400029a68 by main thread (mutexes: write M59082, write M59098): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d1400029a68 by thread T20: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400029a40 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M59082 (0x7d500001c520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M59098 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T20 'mc:nonio_9' (tid=25407, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25379) Write of size 8 at 0x7d14000296a8 by main thread (mutexes: write M59082, write M59095): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d14000296a8 by thread T18: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400029680 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M59082 (0x7d500001c520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M59095 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=25405, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25379) Write of size 8 at 0x7d140001d6c8 by main thread (mutexes: write M59082, write M59095): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140001d6c8 by thread T18: [failed to restore the stack] Location is heap block of size 80 at 0x7d140001d6a0 allocated by thread T18: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M59082 (0x7d500001c520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M59095 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T18 'mc:writer_7' (tid=25405, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_warmup_stats(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:8635 (ep_testsuite.so+0x000000061b12) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 7 warnings ================== WARNING: ThreadSanitizer: data race (pid=25408) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25420, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25408) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25420, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25408) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=25418, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 3 warnings ================== WARNING: ThreadSanitizer: data race (pid=25426) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25438, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25426) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25438, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25426) Write of size 8 at 0x7d140000e998 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e998 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e970 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=25433, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25426) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=25433, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=25436, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25426) Write of size 8 at 0x7d1400009e48 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400009e48 by thread T6: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400009e20 allocated by thread T8: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=25434, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=25436, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=25444) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_failover_log_behavior(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13722 (ep_testsuite.so+0x0000000d5175) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=25454, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25444) Write of size 8 at 0x7d1400004fd8 by main thread (mutexes: write M28791, write M28804): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1006 (engine_testapp+0x0000000bbd48) #11 test_failover_log_behavior(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13747 (ep_testsuite.so+0x0000000d5760) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400004fd8 by thread T16: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400004fb0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_failover_log_behavior(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13722 (ep_testsuite.so+0x0000000d5175) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28791 (0x7d500001c120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_failover_log_behavior(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13722 (ep_testsuite.so+0x0000000d5175) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M28804 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_failover_log_behavior(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13722 (ep_testsuite.so+0x0000000d5175) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T16 'mc:writer_5' (tid=25468, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_failover_log_behavior(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13722 (ep_testsuite.so+0x0000000d5175) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25444) Write of size 8 at 0x7d140000e538 by main thread (mutexes: write M46567, write M46583): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e538 by thread T26: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e510 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_failover_log_behavior(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13747 (ep_testsuite.so+0x0000000d5760) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46567 (0x7d5000019520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_failover_log_behavior(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13747 (ep_testsuite.so+0x0000000d5760) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46583 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_failover_log_behavior(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13747 (ep_testsuite.so+0x0000000d5760) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T26 'mc:nonio_9' (tid=25482, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_failover_log_behavior(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13747 (ep_testsuite.so+0x0000000d5760) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25444) Write of size 8 at 0x7d1400002788 by main thread (mutexes: write M46567, write M46583): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d1400002788 by thread T26: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d1400002760 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #7 test_failover_log_behavior(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13747 (ep_testsuite.so+0x0000000d5760) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46567 (0x7d5000019520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_failover_log_behavior(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13747 (ep_testsuite.so+0x0000000d5760) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46583 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_failover_log_behavior(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13747 (ep_testsuite.so+0x0000000d5760) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T26 'mc:nonio_9' (tid=25482, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_failover_log_behavior(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13747 (ep_testsuite.so+0x0000000d5760) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25444) Write of size 8 at 0x7d140000dfe8 by main thread (mutexes: write M46567, write M46580): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000dfe8 by thread T22: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000dfc0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #10 test_failover_log_behavior(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13747 (ep_testsuite.so+0x0000000d5760) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46567 (0x7d5000019520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_failover_log_behavior(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13747 (ep_testsuite.so+0x0000000d5760) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46580 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_failover_log_behavior(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13747 (ep_testsuite.so+0x0000000d5760) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T22 'mc:writer_5' (tid=25478, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_failover_log_behavior(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13747 (ep_testsuite.so+0x0000000d5760) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25444) Write of size 8 at 0x7d1400002508 by main thread (mutexes: write M46567, write M46580): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400002508 by thread T24: [failed to restore the stack] Location is heap block of size 80 at 0x7d14000024e0 allocated by thread T22: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M46567 (0x7d5000019520) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_failover_log_behavior(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13747 (ep_testsuite.so+0x0000000d5760) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M46580 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #13 test_failover_log_behavior(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13747 (ep_testsuite.so+0x0000000d5760) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T24 'mc:writer_7' (tid=25480, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_failover_log_behavior(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13747 (ep_testsuite.so+0x0000000d5760) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T22 'mc:writer_5' (tid=25478, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 reload_engine(engine_interface**, engine_interface_v1**, char const*, char const*, bool, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1010 (engine_testapp+0x0000000bbd99) #12 test_failover_log_behavior(engine_interface*, engine_interface_v1*) /root/manu/ep-engine/tests/ep_testsuite.cc:13747 (ep_testsuite.so+0x0000000d5760) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1090 (engine_testapp+0x0000000bd6cd) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 6 warnings /root/manu/ep-engine/tests/ep_testsuite.cc:13988 Test failed: `Adjusted time is supposed to negative' (adjusted_time < 0) ================== WARNING: ThreadSanitizer: data race (pid=25496) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25508, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25496) Write of size 8 at 0x7d140000e588 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e588 by thread T10: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e560 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2154 (ep.so+0x0000001e8bc6) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25508, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25496) Write of size 8 at 0x7d140000e8f8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e8f8 by thread T8: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e8d0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #10 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=25506, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25496) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T7: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=25505, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=25504, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25496) Write of size 8 at 0x7d140000d6d8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1112 (engine_testapp+0x0000000bd9c7) #11 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000d6d8 by thread T5: [failed to restore the stack] Location is heap block of size 80 at 0x7d140000d6b0 allocated by thread T6: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=25503, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=25504, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1083 (engine_testapp+0x0000000bd52c) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 5 warnings ================== WARNING: ThreadSanitizer: data race (pid=25514) Write of size 8 at 0x7f07327b8798 by main thread: #0 create_instance /root/manu/ep-engine/src/ep_engine.cc:1798 (ep.so+0x0000001e08bc) #1 create_engine_instance /root/manu/memcached/utilities/engine_loader.c:121 (libmcd_util.so.1.0.0+0x00000000de28) #2 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:924 (engine_testapp+0x0000000bc261) #3 create_buckets(char const*, int, std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:316 (ep_testsuite.so+0x00000010aac5) #4 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14153 (ep_testsuite.so+0x0000000d71cd) #5 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #6 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7f07327b8798 by thread T10: #0 LOG(EXTENSION_LOG_LEVEL, char const*, ...) /root/manu/ep-engine/src/ep_engine.cc:1905 (ep.so+0x0000001e0f00) #1 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:151 (ep.so+0x00000026bf6f) #2 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #3 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is global '' of size 0 at 0x000000000000 (ep.so+0x00000069b798) Thread T10 'mc:nonio_9' (tid=25526, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 create_buckets(char const*, int, std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:316 (ep_testsuite.so+0x00000010aac5) #12 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14153 (ep_testsuite.so+0x0000000d71cd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/ep_engine.cc:1798 create_instance ================== ================== WARNING: ThreadSanitizer: data race (pid=25514) Read of size 8 at 0x7d780000fa58 by thread T6: #0 void STATWRITER_NAMESPACE::add_casted_stat(char const*, long const&, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/statwriter.h:45 (ep.so+0x0000000c7699) #1 EventuallyPersistentEngine::doEngineStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:3547 (ep.so+0x0000001f43a9) #2 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4538 (ep.so+0x0000001fd68a) #3 EventuallyPersistentStore::snapshotStats() /root/manu/ep-engine/src/ep.cc:1664 (ep.so+0x00000018dcb5) #4 StatSnap::run() /root/manu/ep-engine/src/tasks.cc:96 (ep.so+0x0000002e99f3) #5 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #6 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #7 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d780000fa58 by main thread: #0 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2157 (ep.so+0x0000001e8bf1) #1 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #2 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #3 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #4 create_buckets(char const*, int, std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:316 (ep_testsuite.so+0x00000010aac5) #5 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14153 (ep_testsuite.so+0x0000000d71cd) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Location is heap block of size 2672 at 0x7d780000f000 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 create_instance /root/manu/ep-engine/src/ep_engine.cc:1806 (ep.so+0x0000001e099b) #2 create_engine_instance /root/manu/memcached/utilities/engine_loader.c:121 (libmcd_util.so.1.0.0+0x00000000de28) #3 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:924 (engine_testapp+0x0000000bc261) #4 create_buckets(char const*, int, std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:316 (ep_testsuite.so+0x00000010aac5) #5 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14153 (ep_testsuite.so+0x0000000d71cd) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=25522, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 create_buckets(char const*, int, std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:316 (ep_testsuite.so+0x00000010aac5) #12 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14153 (ep_testsuite.so+0x0000000d71cd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/statwriter.h:45 void STATWRITER_NAMESPACE::add_casted_stat(char const*, long const&, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) ================== ================== WARNING: ThreadSanitizer: data race (pid=25514) Write of size 8 at 0x7f07327b8130 by main thread: #0 create_instance /root/manu/ep-engine/src/ep_engine.cc:1819 (ep.so+0x0000001e0b9c) #1 create_engine_instance /root/manu/memcached/utilities/engine_loader.c:121 (libmcd_util.so.1.0.0+0x00000000de28) #2 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:924 (engine_testapp+0x0000000bc261) #3 create_buckets(char const*, int, std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:316 (ep_testsuite.so+0x00000010aac5) #4 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14153 (ep_testsuite.so+0x0000000d71cd) #5 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #6 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7f07327b8130 by thread T5: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:103 (ep.so+0x00000026b5ed) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is global '' of size 0 at 0x000000000000 (ep.so+0x00000069b130) Thread T5 'mc:writer_4' (tid=25521, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 create_buckets(char const*, int, std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:316 (ep_testsuite.so+0x00000010aac5) #12 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14153 (ep_testsuite.so+0x0000000d71cd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/ep_engine.cc:1819 create_instance ================== ================== WARNING: ThreadSanitizer: data race (pid=25514) Write of size 8 at 0x7f07327b8138 by main thread: #0 create_instance /root/manu/ep-engine/src/ep_engine.cc:1820 (ep.so+0x0000001e0c18) #1 create_engine_instance /root/manu/memcached/utilities/engine_loader.c:121 (libmcd_util.so.1.0.0+0x00000000de28) #2 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:924 (engine_testapp+0x0000000bc261) #3 create_buckets(char const*, int, std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:316 (ep_testsuite.so+0x00000010aac5) #4 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14153 (ep_testsuite.so+0x0000000d71cd) #5 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #6 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7f07327b8138 by thread T3: #0 ep_real_time /root/manu/ep-engine/src/ep_time.c:44 (ep.so+0x00000024dccc) #1 LoadStorageKVPairCallback /root/manu/ep-engine/src/warmup.h:73 (ep.so+0x00000032c2bf) #2 Warmup::keyDumpforShard(unsigned short) /root/manu/ep-engine/src/warmup.cc:591 (ep.so+0x0000003247e9) #3 WarmupKeyDump::run() /root/manu/ep-engine/src/warmup.h:301 (ep.so+0x000000341909) #4 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #5 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #6 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is global '' of size 0 at 0x000000000000 (ep.so+0x00000069b138) Thread T3 'mc:reader_2' (tid=25519, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:478 (ep.so+0x0000002530b6) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 create_buckets(char const*, int, std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:316 (ep_testsuite.so+0x00000010aac5) #12 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14153 (ep_testsuite.so+0x0000000d71cd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/ep_engine.cc:1820 create_instance ================== ================== WARNING: ThreadSanitizer: data race (pid=25514) Read of size 8 at 0x7d780000ee58 by thread T7: #0 void STATWRITER_NAMESPACE::add_casted_stat(char const*, long const&, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) /root/manu/ep-engine/src/statwriter.h:45 (ep.so+0x0000000c7699) #1 EventuallyPersistentEngine::doEngineStats(void const*, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:3547 (ep.so+0x0000001f43a9) #2 EventuallyPersistentEngine::getStats(void const*, char const*, int, void (*)(char const*, unsigned short, char const*, unsigned int, void const*)) /root/manu/ep-engine/src/ep_engine.cc:4538 (ep.so+0x0000001fd68a) #3 EventuallyPersistentStore::snapshotStats() /root/manu/ep-engine/src/ep.cc:1664 (ep.so+0x00000018dcb5) #4 StatSnap::run() /root/manu/ep-engine/src/tasks.cc:96 (ep.so+0x0000002e99f3) #5 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #6 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #7 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous write of size 8 at 0x7d780000ee58 by main thread: [failed to restore the stack] Location is heap block of size 2672 at 0x7d780000e400 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 create_instance /root/manu/ep-engine/src/ep_engine.cc:1806 (ep.so+0x0000001e099b) #2 create_engine_instance /root/manu/memcached/utilities/engine_loader.c:121 (libmcd_util.so.1.0.0+0x00000000de28) #3 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:924 (engine_testapp+0x0000000bc261) #4 create_buckets(char const*, int, std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:316 (ep_testsuite.so+0x00000010aac5) #5 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14153 (ep_testsuite.so+0x0000000d71cd) #6 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #7 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T7 'mc:writer_6' (tid=25523, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 create_buckets(char const*, int, std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:316 (ep_testsuite.so+0x00000010aac5) #12 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14153 (ep_testsuite.so+0x0000000d71cd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/statwriter.h:45 void STATWRITER_NAMESPACE::add_casted_stat(char const*, long const&, void (*)(char const*, unsigned short, char const*, unsigned int, void const*), void const*) ================== ================== WARNING: ThreadSanitizer: data race (pid=25514) Write of size 8 at 0x7d140000df48 by thread T8: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:53 (ep.so+0x0000002e8f7a) #1 Flusher::step(GlobalTask*) /root/manu/ep-engine/src/flusher.cc:182 (ep.so+0x000000275933) #2 FlusherTask::run() /root/manu/ep-engine/src/tasks.cc:61 (ep.so+0x0000002e939e) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Previous read of size 8 at 0x7d140000df48 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:156 (ep.so+0x00000026bef2) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000df20 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 create_buckets(char const*, int, std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:316 (ep_testsuite.so+0x00000010aac5) #10 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14153 (ep_testsuite.so+0x0000000d71cd) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=25524, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 create_buckets(char const*, int, std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:316 (ep_testsuite.so+0x00000010aac5) #12 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14153 (ep_testsuite.so+0x0000000d71cd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=25522, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 create_buckets(char const*, int, std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:316 (ep_testsuite.so+0x00000010aac5) #12 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14153 (ep_testsuite.so+0x0000000d71cd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/tasks.cc:53 GlobalTask::snooze(double) ================== ================== WARNING: ThreadSanitizer: data race (pid=25514) Write of size 8 at 0x7d140000e628 by main thread (mutexes: write M11071, write M11087): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:556 (ep.so+0x0000002548df) #4 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:470 (ep.so+0x0000001802b2) #5 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #6 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #7 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #8 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #9 destroy_buckets(std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:328 (ep_testsuite.so+0x00000010b011) #10 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14184 (ep_testsuite.so+0x0000000d7bf8) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous write of size 8 at 0x7d140000e628 by thread T10: #0 GlobalTask::snooze(double) /root/manu/ep-engine/src/tasks.cc:56 (ep.so+0x0000002e9028) #1 ConnManager::run() /root/manu/ep-engine/src/connmap.cc:153 (ep.so+0x00000011aa0d) #2 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #3 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #4 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e600 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 ConnMap::initialize(conn_notifier_type) /root/manu/ep-engine/src/connmap.cc:196 (ep.so+0x0000000ec5c2) #2 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2153 (ep.so+0x0000001e8b94) #3 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #4 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #5 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #6 create_buckets(char const*, int, std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:316 (ep_testsuite.so+0x00000010aac5) #7 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14153 (ep_testsuite.so+0x0000000d71cd) #8 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #9 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 create_buckets(char const*, int, std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:316 (ep_testsuite.so+0x00000010aac5) #12 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14153 (ep_testsuite.so+0x0000000d71cd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11087 (0x7d480000b288) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 create_buckets(char const*, int, std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:316 (ep_testsuite.so+0x00000010aac5) #13 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14153 (ep_testsuite.so+0x0000000d71cd) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T10 'mc:nonio_9' (tid=25526, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:499 (ep.so+0x000000253c79) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 create_buckets(char const*, int, std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:316 (ep_testsuite.so+0x00000010aac5) #12 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14153 (ep_testsuite.so+0x0000000d71cd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25514) Write of size 8 at 0x7d140000e9e8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:330 (ep.so+0x0000002515ed) #3 ExecutorPool::wake(unsigned long) /root/manu/ep-engine/src/executorpool.cc:338 (ep.so+0x000000251789) #4 Flusher::wait() /root/manu/ep-engine/src/flusher.cc:41 (ep.so+0x00000027489c) #5 EventuallyPersistentStore::stopFlusher() /root/manu/ep-engine/src/ep.cc:530 (ep.so+0x000000180f25) #6 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:479 (ep.so+0x00000018037c) #7 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #8 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #9 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #10 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #11 destroy_buckets(std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:328 (ep_testsuite.so+0x00000010b011) #12 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14184 (ep_testsuite.so+0x0000000d7bf8) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d140000e9e8 by thread T6: #0 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:97 (ep.so+0x00000026b43c) #1 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #2 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Location is heap block of size 80 at 0x7d140000e9c0 allocated by main thread: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 Flusher::schedule_UNLOCKED() /root/manu/ep-engine/src/flusher.cc:134 (ep.so+0x000000275239) #2 Flusher::start() /root/manu/ep-engine/src/flusher.cc:150 (ep.so+0x0000002755dc) #3 EventuallyPersistentStore::startFlusher() /root/manu/ep-engine/src/ep.cc:520 (ep.so+0x00000017fc02) #4 EventuallyPersistentStore::initialize() /root/manu/ep-engine/src/ep.cc:409 (ep.so+0x00000017e522) #5 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2145 (ep.so+0x0000001e8ac7) #6 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #7 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #8 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #9 create_buckets(char const*, int, std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:316 (ep_testsuite.so+0x00000010aac5) #10 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14153 (ep_testsuite.so+0x0000000d71cd) #11 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #12 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 create_buckets(char const*, int, std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:316 (ep_testsuite.so+0x00000010aac5) #12 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14153 (ep_testsuite.so+0x0000000d71cd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 create_buckets(char const*, int, std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:316 (ep_testsuite.so+0x00000010aac5) #13 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14153 (ep_testsuite.so+0x0000000d71cd) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T6 'mc:writer_5' (tid=25522, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 create_buckets(char const*, int, std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:316 (ep_testsuite.so+0x00000010aac5) #12 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14153 (ep_testsuite.so+0x0000000d71cd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ================== WARNING: ThreadSanitizer: data race (pid=25514) Write of size 8 at 0x7d1400018df8 by main thread (mutexes: write M11071, write M11084): #0 TaskQueue::_wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:273 (ep.so+0x0000002ef6b0) #1 TaskQueue::wake(SingleThreadedRCPtr&) /root/manu/ep-engine/src/taskqueue.cc:300 (ep.so+0x0000002efb59) #2 ExecutorPool::_stopTaskGroup(unsigned long, task_type_t, bool) /root/manu/ep-engine/src/executorpool.cc:539 (ep.so+0x0000002546a9) #3 ExecutorPool::_unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:566 (ep.so+0x000000254afb) #4 ExecutorPool::unregisterTaskable(Taskable*, bool) /root/manu/ep-engine/src/executorpool.cc:616 (ep.so+0x0000002555e5) #5 ~EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:481 (ep.so+0x0000001803ed) #6 ~EventuallyPersistentEngine /root/manu/ep-engine/src/ep_engine.cc:6308 (ep.so+0x000000211513) #7 EvpDestroy(engine_interface*, bool) /root/manu/ep-engine/src/ep_engine.cc:141 (ep.so+0x0000001e207a) #8 mock_destroy(engine_interface*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:98 (engine_testapp+0x0000000bea46) #9 destroy_bucket(engine_interface*, engine_interface_v1*, bool) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:995 (engine_testapp+0x0000000bd010) #10 destroy_buckets(std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:328 (ep_testsuite.so+0x00000010b011) #11 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14184 (ep_testsuite.so+0x0000000d7bf8) #12 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #13 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Previous read of size 8 at 0x7d1400018df8 by thread T8: [failed to restore the stack] Location is heap block of size 80 at 0x7d1400018dd0 allocated by thread T5: #0 operator new(unsigned long) :0 (engine_testapp+0x00000005289d) #1 EventuallyPersistentStore::scheduleVBSnapshot(Priority const&) /root/manu/ep-engine/src/ep.cc:1327 (ep.so+0x00000018a91e) #2 DaemonVBSnapshotTask::run() /root/manu/ep-engine/src/tasks.cc:77 (ep.so+0x0000002e96ea) #3 ExecutorThread::run() /root/manu/ep-engine/src/executorthread.cc:112 (ep.so+0x00000026b758) #4 launch_executor_thread(void*) /root/manu/ep-engine/src/executorthread.cc:33 (ep.so+0x00000026b018) #5 platform_thread_wrap /root/manu/platform/src/cb_pthreads.c:23 (libplatform.so.0.1.0+0x0000000046a1) Mutex M11071 (0x7d5000018120) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 ExecutorPool /root/manu/ep-engine/src/executorpool.cc:159 (ep.so+0x00000024eb62) #5 ExecutorPool::get() /root/manu/ep-engine/src/executorpool.cc:137 (ep.so+0x00000024e73a) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b63e) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 create_buckets(char const*, int, std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:316 (ep_testsuite.so+0x00000010aac5) #12 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14153 (ep_testsuite.so+0x0000000d71cd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Mutex M11084 (0x7d480000b708) created at: #0 pthread_mutex_init :0 (engine_testapp+0x000000056fb0) #1 cb_mutex_initialize /root/manu/platform/src/cb_pthreads.c:105 (libplatform.so.0.1.0+0x0000000048da) #2 Mutex /root/manu/ep-engine/src/mutex.cc:23 (ep.so+0x0000002af713) #3 SyncObject /root/manu/ep-engine/src/syncobject.h:30 (ep.so+0x0000001b6108) #4 TaskQueue /root/manu/ep-engine/src/taskqueue.cc:25 (ep.so+0x0000002ec32c) #5 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:441 (ep.so+0x0000002529b5) #6 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #7 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #8 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #9 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #10 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #11 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #12 create_buckets(char const*, int, std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:316 (ep_testsuite.so+0x00000010aac5) #13 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14153 (ep_testsuite.so+0x0000000d71cd) #14 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #15 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T8 'mc:writer_7' (tid=25524, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 create_buckets(char const*, int, std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:316 (ep_testsuite.so+0x00000010aac5) #12 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14153 (ep_testsuite.so+0x0000000d71cd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) Thread T5 'mc:writer_4' (tid=25521, running) created by main thread at: #0 pthread_create :0 (engine_testapp+0x000000055ba1) #1 cb_create_named_thread /root/manu/platform/src/cb_pthreads.c:68 (libplatform.so.0.1.0+0x0000000044af) #2 ExecutorThread::start() /root/manu/ep-engine/src/executorthread.cc:46 (ep.so+0x00000026ac52) #3 ExecutorPool::_startWorkers() /root/manu/ep-engine/src/executorpool.cc:485 (ep.so+0x0000002534ec) #4 ExecutorPool::_registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:449 (ep.so+0x000000252bae) #5 ExecutorPool::registerTaskable(Taskable*) /root/manu/ep-engine/src/executorpool.cc:454 (ep.so+0x0000002540e9) #6 EventuallyPersistentStore /root/manu/ep-engine/src/ep.cc:301 (ep.so+0x00000017b686) #7 EventuallyPersistentEngine::initialize(char const*) /root/manu/ep-engine/src/ep_engine.cc:2136 (ep.so+0x0000001e887c) #8 EvpInitialize(engine_interface*, char const*) /root/manu/ep-engine/src/ep_engine.cc:133 (ep.so+0x0000001e1f85) #9 init_engine_instance /root/manu/memcached/utilities/engine_loader.c:157 (libmcd_util.so.1.0.0+0x00000000e42b) #10 create_bucket(bool, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:980 (engine_testapp+0x0000000bce36) #11 create_buckets(char const*, int, std::vector >&) /root/manu/ep-engine/tests/ep_testsuite_common.cc:316 (ep_testsuite.so+0x00000010aac5) #12 test_multi_bucket_set_get(test*) /root/manu/ep-engine/tests/ep_testsuite.cc:14153 (ep_testsuite.so+0x0000000d71cd) #13 execute_test(test, char const*, char const*) /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1103 (engine_testapp+0x0000000bd8a4) #14 main /root/manu/memcached/programs/engine_testapp/engine_testapp.cc:1439 (engine_testapp+0x0000000ba81c) SUMMARY: ThreadSanitizer: data race /root/manu/ep-engine/src/taskqueue.cc:273 TaskQueue::_wake(SingleThreadedRCPtr&) ================== ThreadSanitizer: reported 9 warnings make[3]: *** [ep-engine/CMakeFiles/engine-tests] Error 85 make[2]: *** [ep-engine/CMakeFiles/engine-tests.dir/all] Error 2 make[1]: *** [ep-engine/CMakeFiles/engine-tests.dir/rule] Error 2 make: *** [ep-engine/CMakeFiles/engine-tests.dir/rule] Error 2